Shell的特殊位置/状态/扩展变量

Shell特殊位置变量 Shell中存在一些特殊且重要的变量,如下

$0    获取当前执行Shell脚本的文件名字,如果执行脚本时候加了路径,那就包含脚本路径跟脚本名字一起输出

$n    获取当前执行Shell交本的第n个参数,n=1..9,n>9,后面参数变量就需要用大括号,如:${10},以空格分隔

$#    获取当前执行Shell脚本接了多少个参数(总计)

$*    获取当前执行Shell脚本所有传参的参数

$@    获取当前执行Shell脚本所有传参的参数($*和$@详解见例子)

1 [root@ king tmp]# cat t.sh 2 if [ $# -ne 2 ]             #如果执行脚本传参的个数不为2, 3 then 4 echo "USAGE:/bin/sh $0 arg1 arg2" #则给用户提示正确用法,此处的$0,打印脚本名字及路径。 5 exit 1                #若不满足要求,则退出脚本,返回值为1。 6 fi 7 echo $1 $2                #若参数满足要求,则打印$1和$2获取到的传参的字符串。 8 [root@ king tmp]# sh t.sh #若不加参数执行脚本,则直接给出提示。 9 USAGE:/bin/sh t.sh arg1 arg2 #t.sh就是脚本中$0获取的值。 10 [root@ king tmp]# sh t.sh hello world 11 hello world #若参数满足要求,则打印$1和$2获取的字符串,即hello和world。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpsjfw.html