shell中特殊位置参数变量】的更多相关文章

shell中特殊位置参数变量:$0.$n.$#.$*.$@ $0:获取当前执行shell脚本文件名,如果执行脚本包含路径,那么就包括脚本路径 $n:获取当前执行shell脚本的第n个参数值.n=1..9,当n为0时表示脚本文件名:如果n大于9,则用大括号括起来,例如${10},接的参数以空格隔开 $#:获取当前执行的shell脚本后面接的参数个数 $*:获取当前shell脚本所有传参的参数,不加引号和$@相同:如果给$*加上双引号,例如:“$*”,则表示将所有的参数视为单个字符串,相当于“$1…
SHELL中的特殊变量和结构 表格 B-1. 特殊的shell变量 变量 含义 $0 脚本名字 $1 位置参数 #1 $2 - $9 位置参数 #2 - #9 ${10} 位置参数 #10 $# 位置参数的个数 "$*" 所有的位置参数(作为单个字符串) * "$@" 所有的位置参数(每个都作为独立的字符串) ${#*} 传递到脚本中的命令行参数的个数 ${#@} 传递到脚本中的命令行参数的个数 $? 返回值,显示最后命令的退出状态.0表示没有错误,其他任何值表明有…
shell中的特殊变量 $? :上一个命令的执行状态返回值 $#::参数的个数 $*:参数列表,所有的变量作为一个字符串 $@:参数列表,每个变量作为单个字符串 $1-9,${10}:位置参数 $$:脚本的进程号 $_:之前命令的最后一个参数 $0:脚本的名称 $!:运行在后台的最后一个进程ID 那么问题来了,这些特殊的变量怎么传递到shell中定义函数中去呢? 一个脚本说明问题 [root@lamp tmp]# cat test.sh #!/bin/sh func () { echo "$1&…
shell中的特殊变量:变量名含义$0shell或shell脚本的名字$*以一对双引号给出参数列表$@将各个参数分别加双引号返回$#参数的个数$_代表上一个命令的最后一个参数$$代表所在命令的PID$!代表最后执行的后台命令的PID$?代表上一个命令执行后的退出状态…
shell 中的特殊变量 变量名   含义 $#     参数的个数 $$     代表所在命令的PID $0     shell或shell脚本的名字 $*     以一对双引号给出参数列表 $@     将各个参数分别加双引号返回 $!     代表最后执行的后台命令的PID $_     代表上一个命令的最后一个参数 $?     代表上一个命令执行后的退出状态…
http://hi.baidu.com/lolorosa/blog/item/5775a608bd670d33b0351da7.html $# 是传给脚本的参数个数 $@ 是传给脚本的所有参数的列表 $0 是脚本本身的名字 $1是传递给该shell脚本的第一个参数 $2是传递给该shell脚本的第二个参数 在Bash shell中经常会见到一些比较特殊的符号,本人现收集与此,以供查阅:位置参数:详见ABS(Advanced Bash Shell)中文翻译版103页第9章第一节内部变量,当然英文版…
(1)sehll实例 # cat subshell #!/bin/bash if (set -u; : $var); then #冒号与$间有空格 echo "Variable is set." else echo "Not set" fi (2)输出结果: # ./subshell ./subshell: line 3: var: unbound variable Not set (3)原因分析: 其中set -u命令用于设置shell选项,u是nounset表示…
局部(local)环境变量 定义局部环境变量的方式如下: variableName=value 需要注意的是variableName前面没有$符号,并且=两边没有空格. 局部环境变量只能在当前shell中使用,无法在其派生的子shell中使用 全局(global)环境变量 定义全局环境变量的方式如下: variableName=value export variableName 可以看到,定义全局环境变量的方式和局部变量非常像,不同之处在于想要成为全局环境变量,必须使用export命令. 全局环…
 1.local一般用于局部变量声明,多在在函数内部使用.实例如下:      echo_start() { local STR="$1" echo "...... ${STR} ......starting at $(date)" } 2.Shell脚本中定义的变量是global的,其作用域从被定义的地方开始,到shell结束或被显示删除的地方为止. 3.export 将自定义变量设定为系统环境变量(仅限于该次登陆操作,当前shell中有效)    语法:expo…
shell中特殊变量IFS的使用 IFS是内部字段分隔符(internal field separator).默认情况下,bash shell会将空格.制表符.换行符 当做字段分隔符. IFS=$'\n':;" 就是将换行符.冒号.分号.双引号作为字段分隔符 IFS='\n' //将字符\和字符n作为IFS的换行符. IFS=$'\n' //真正的使用换行符做为字段分隔符. IFS='\n':;" //将反斜杠.n.冒号.分号和双引号作为字段分隔符. shell 将字符串分割为数组 1…