首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

unix shell编程特殊变量

UNIX Shell编程中的特殊变量是一组在Shell脚本中预定义的变量,它们具有特殊的含义和用途。以下是一些常见的UNIX Shell特殊变量:

  1. $0:表示当前脚本的文件名。
    • 分类:环境变量。
    • 优势:可以方便地获取当前脚本的文件名,用于日志记录和调试。
    • 应用场景:日志记录、调试。
    • 推荐的腾讯云相关产品:无。
  2. $1, $2, ...:表示脚本或函数的参数。
    • 分类:位置参数。
    • 优势:可以方便地获取传递给脚本或函数的参数值。
    • 应用场景:处理命令行参数、函数参数传递。
    • 推荐的腾讯云相关产品:无。
  3. $#:表示传递给脚本或函数的参数个数。
    • 分类:位置参数。
    • 优势:可以方便地获取传递给脚本或函数的参数个数。
    • 应用场景:根据参数个数执行不同的逻辑、参数校验。
    • 推荐的腾讯云相关产品:无。
  4. $@:表示所有传递给脚本或函数的参数列表。
    • 分类:位置参数。
    • 优势:可以方便地遍历所有传递的参数值。
    • 应用场景:循环处理所有参数、传递参数给其他命令。
    • 推荐的腾讯云相关产品:无。
  5. $*:表示所有传递给脚本或函数的参数列表,作为一个单词。
    • 分类:位置参数。
    • 优势:可以方便地将所有参数作为一个整体处理。
    • 应用场景:传递参数给其他命令、字符串拼接。
    • 推荐的腾讯云相关产品:无。
  6. $?:表示上一个命令或函数的退出状态。
    • 分类:特殊变量。
    • 优势:可以方便地获取上一个命令或函数的执行结果。
    • 应用场景:判断命令或函数执行是否成功、错误处理。
    • 推荐的腾讯云相关产品:无。
  7. $$:表示当前Shell进程的进程ID。
    • 分类:特殊变量。
    • 优势:可以方便地获取当前Shell进程的进程ID。
    • 应用场景:进程管理、日志记录。
    • 推荐的腾讯云相关产品:无。
  8. $!:表示最后一个在后台运行的命令的进程ID。
    • 分类:特殊变量。
    • 优势:可以方便地获取最后一个在后台运行的命令的进程ID。
    • 应用场景:后台任务管理、进程控制。
    • 推荐的腾讯云相关产品:无。

以上是UNIX Shell编程中的一些常见特殊变量及其用途。通过使用这些特殊变量,开发人员可以更方便地编写Shell脚本,并实现各种功能。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Shell编程自动化之特殊变量特殊状态变量Shell子串

一、特殊变量$0 获取shell脚本文件名,以及脚本路径$n 获取shell脚本的第n个参数,n在1~9之间,如:$1,$2,大于9则需要写${10},参数用空格隔开。.../test1.sh ceshi 10 20 30ceshi 10 20 30---------ceshi102030二、特殊状态变量$?...上一次后台进程的PID$_ 再次之前执行的命令,最后一个参数三、shell子串用法bash基础内置命令echo -n 不换行输出 -e 解析字符串中的特殊符号 \n 换行...返回变量start数值之后的字符${变量:start:length} 提取变量start之后的length限制的字符${变量#word}...从变量结尾删除最短匹配的word字符串${变量%%word} 从变量结尾删除最长匹配的word字符串${变量/pattern/string}

16020

shell编程入门_unix编程

shell还是一个功能强大的编程语言,易于编辑,易于调试,灵活性强,shell是结识知识性的脚本语言,在我们shell中直接调用Linux的系统命令操作即可。 2....Shell的分类 (1)Bourne Shell(bshell) 从1979年在unix系统就开始使用了。...Shell变量(4种) (1)用户自定义的变量 只能在当前的shell中使用,常用的调用命令echo $变量名 (2)定义一个简单的变量 (3)变量的叠加方式1 (4)变量的叠加方式...2 (5)查看变量:set (6)变量的删除:unset 变量名 (7)环境变量(系统运行时所用到的变量) 特点:a:它不仅在当前的shell中有效,在子shell中都有效...b:如果把环境变量写道指定的文件中,那么该环境变量在所有的shell中都生效。

1.3K10

Shell编程 --- 变量

每天学习一点点,从量变到质变 今天,跟大家详细讲讲Shell编程中的变量。...变量的命令规则(学过编程的你们估计都懂) 刚才说变量就是用一个符号来代表一些数值,不过我需要告诉你,这个符号可不是逗号,顿号这些哈。这个符号的命名是有规则的。规则如下: (1)....就是只在当前的Shell中生效。而环境变量的作用范围是全局的,它在当前的Shell以及和这个Shell的所有子Shell中都生效。...说明:当我们在命令行输入 bash -> 回车,就会进入另一个bash,这个bash是之前那个bash的子Shell。 下面我用普通变量做一个演示,证明它到了子Shell就不存在了。...下面列出一些常用的环境变量: HOSTNAME:主机名 SHELL:当前的SHELL TERM:终端环境 HISTSIZE:历史命令条数 USER:当前登陆的用户 SSH_CLIENT:当前操作环境是用

87050

Shell】环境变量 自定义变量 特殊变量

变量类型 系统环境变量 自定义变量 特殊符号变量 系统环境变量 介绍 是系统提供的共享变量.是linux系统加载Shell的配置文件中定义的变量共享给所有的Shell程序使用 Shell...name is 结论: 推荐大家使用花括号才是编程好习惯 变量删除 语法 unset var_name 演示 自定义常量 介绍 就是变量设置值以后不可以修改的变量叫常量, 也叫只读变量 语法...\删\改\查 定义和修改: var_name=value 查询:{var_name} 或 var_name 删除: unset var_name Shell变量特殊变量 目标 能够说出常用的特殊变量有哪些...常用的特殊符号变量如下 特殊变量 含义 $n 获取输入参数的 $0, 获取当前Shell脚本文件名字 $1~$9, 获取第一个输入参数到第九个输入参数 ${10} 获取10和10以上的参数需要使用花括号...test.sh脚本文件,编辑添加输出 $0 ,编程保存完成后执行test.sh脚本文件观察输出信息效果 演示 直接登录linux系统使用如下命令效果 bash命令将当前环境转换为Shell非登录环境

42531

02·Shell编程-变量

变量介绍 变量分类 环境变量 普通变量 特殊变量-位置 特殊变量-状态 变量子串(复杂,但实用) 扩展变量 变量的赋值 交互式赋值变量 Shell 数据类型 -...} # 与环境变量相关的文件 /etc/profile /etc/bashrc ~/.bashrc ~/.bashrc_profile /etc/profile.d/*.sh 特殊变量-位置 ---...- 特殊变量介绍 匹配脚本参数,服务状态,特殊替换(重点) 应用场景: 1.提高书写脚本及脚本执行效率 2.判断服务状态、脚本参数、删除、替换 ---- 位置变量 符号 含义 应用 $0 脚本名字...echo $i done [root@m01 script]# sh 04_location_var.sh zls wls cls $*结果: zls wls cls $@结果: zls wls cls 特殊变量...Shell 数据类型 1)字符串 2)整型 3)数组 很草率,其实在shell中,我们很少讲究数据类型,不像其他开发语言,光数据类型就要讲好几天。

1K20

Shell 编程(2)- 变量

6.临时将普通变量升级为环境变量 export str或者赋值时export str=value,这样$str 就可以在当前 shell 和子 shell 中使用,但退出脚本或重新登录 shell 都会取消...shell,要想在子 shell 中也能引用普通变量,需要使用 export 将普通变量升级为环境变量。...exit #退出子 shell export str #在父 shell 中将普通变量修改为环境变量 bash echo $str Hello 变量的生命周期 普通变量在脚本结束或退出登录后就失效了,并别只对当前...使用 export 可以升级为临时局部的环境变量,只对当前用户的当前 shell 和子 shell 有效,退出脚本和退出登录后也失效。...表格 例如: 声明一个环境变量:declare -x str 取消该变量:declare +x str 位置变量特殊变量 [表格] 示例:使用下面的脚本来验证特殊变量和位置变量 #!

77600

详解shell脚本的环境、普通、特殊变量

#变量类型 分为环境变量(全局变量)和普通变量(局部变量) 环境变量也可称全局变量 普通变量又称局部变量 一、环境变量 环境变量一般用export内置命令导出变量,用于定义shell的运行环境,所有的环境变量都是系统全局变量...,相当于id-u $PWD :当前工作目录的绝对路径 $SHELL :当前SHELL $USER : 当前用户 #示例 [root@game ~]# echo $HOME /root [root@game...~]# echo $UID 0 [root@game ~]# echo $PWD /root [root@game ~]# echo $SHELL /bin/bash [root@game ~]# echo...本地变量一般在脚本或命令中进行定义,只在当前的shell中有效 #变量名一般是由字母、数字、下划线组成,可以以字母或下划线开头 #普通变量定义 变量名=value #不加引号 变量名='value'...#加单引号 变量名="value" #加双引号 #示例 [root@game test]# cat test.sh mail=guoke@qq.com 三、特殊变量 #常用的特殊变量 特殊变量 解释

1.7K20

Shell编程(02)-变量详解

Shell 编程语言是一种非类型的解释型语言,不像 C++/Java 需要事先声明变量。在 Shell 中,可以使用赋值符号(=)为变量赋值。Shell 变量可以分为两类:局部变量和环境变量。...局部变量只在创建它们的 Shell 脚本中使用,而环境变量可以在创建它们的 Shell 及其派生出来的任意子进程中使用。有些变量是用户创建的,其他的则是专用 Shell 变量。...例如,在脚本中定义 A=123,表示定义了一个名为 A 的变量,它的值为 123。在脚本中引用变量时,可以使用 $A。将变量放在字符串中会产生相应的效果,例如: #!...这里简单地理解变量,相当于定义了一个别名-名称,引用时加上 $ 符号即可。 例如,定义变量 name=wuguangke,执行 echo $name 将会显示 wuguangke。...Shell 常见的系统变量解析如下: $0:当前程序的名称。 $n:当前程序的第 n 个参数,n=1,2,…9。 $*:当前程序的所有参数(不包括程序本身)。

13620

Shell 编程(一):Shell 变量的高级用法

变量替换 语法 说明 ${变量名#匹配规则} 从变量开头进行规则匹配,将符合最短的数据删除 ${变量名##匹配规则} 从变量开头进行规则匹配,将符合最长的数据删除 ${变量名%匹配规则} 从变量尾部进行规则匹配...,将符合最短的数据删除 ${变量名%%匹配规则} 从变量尾部进行规则匹配,将符合最长的数据删除 ${变量名/旧字符串/新字符串} 变量内容符合旧字符串则,则第一个旧字符串会被新字符串取代 ${变量名//...--------------" done 命令替换 方法 语法格式 方法一 `command` 方法二 $(command) `` 和()两者是等价的,但推荐初学者使用(),易于掌握;缺点是极少数UNIX...将变量定义为数组 -f 显示此脚本前定义过的所有函数及内容 -F 仅显示此脚本前定义过的函数名 -x 将变量声明为环境变量 取消声明的变量:declare +r;declare +i;declare...+a;declare +f;declare +F;declare +x; 例子 声明变量为只读类型 声明变量类型为整型 在脚本中显示定义的函数和内容 在脚本中显示定义的函数 将变量声明为环境变量

1.1K30

Shell特殊变量和命令行参数详解

1.shell变量基础 shell变量是一种很“弱”的变量,默认情况下,一个变量保存一个串,shell不关心这个串是什么含义。...shell变量可分为两类:局部变量和环境变量。 局部变量只在创建它们的shell中可用;而环境变量则可以在创建它们的shell及其派生出来的任意子进程中使用。...对shell变量的引用方式很多,用这些方式可以方便的获取shell变量的值,变量值的长度,变量的一个字串,变量被部分替换后的值等等。...shell变量常见引用方式如下: 2.环境变量 环境变量的定义方法如下: var=value export var shell在初始化的时候会在执行profile等初始化脚本,脚本中定义了一些环境变量,...5.特殊变量 $0:当前脚本的文件名 $num:num为从1开始的数字,$1是第一个参数,$2是第二个参数,${10}是第十个参数 $#:传入脚本的参数的个数 $*:所有的位置参数(作为单个字符串)

2.5K60

Shell 编程(一):Shell 变量的高级用法

变量替换 语法 说明 ${变量名#匹配规则} 从变量开头进行规则匹配,将符合最短的数据删除 ${变量名##匹配规则} 从变量开头进行规则匹配,将符合最长的数据删除 ${变量名%匹配规则} 从变量尾部进行规则匹配...,将符合最短的数据删除 ${变量名%%匹配规则} 从变量尾部进行规则匹配,将符合最长的数据删除 ${变量名/旧字符串/新字符串} 变量内容符合旧字符串则,则第一个旧字符串会被新字符串取代 ${变量名//...----" done Bash Copy 命令替换 方法 语法格式 方法一 `command` 方法二 $(command) `` 和()两者是等价的,但推荐初学者使用(),易于掌握;缺点是极少数UNIX...将变量定义为数组 -f 显示此脚本前定义过的所有函数及内容 -F 仅显示此脚本前定义过的函数名 -x 将变量声明为环境变量 取消声明的变量:declare +r;declare +i;declare...+a;declare +f;declare +F;declare +x; 例子 声明变量为只读类型 声明变量类型为整型 在脚本中显示定义的函数和内容 在脚本中显示定义的函数 将变量声明为环境变量

25520

Unix和Mac上的Shell编程(1)

Shell这个语言吧,在很多大佬看来,他并不是一个适合新手来学习的语言,或者说它不适合入门,不管怎么说,它的历史和Unix的历史是一样长的。而且最近我是尝试着迁移到unix上的。...Unix系统只识别3中文件,普通文件,目录文件,特殊文件(通常是对nuix系统的有特殊含义的文件) 5.ls ls命令可能是用的最多的命令吧,因为unix就是操作的一堆文件,你们时时刻刻知道处理的文件状态...在unix的系统里面,所有的目录都是有两个身份的,要不他是上一级的子目录,要不是下一级的父目录。...目录是d,文件是-,特殊文件是b,c,l,p 9个字符定义了文件或者目录的访问权限 还显示了连接数 文件最后的修改时间 文件名 14.mkdir,创建一个目录 15.目录之间复制文件 a->b(1)

53810
领券