描述:
位置参数指的是shell脚本的命令行参数,同时也表示shell函数的额函数参数。
说明:
示例:
#!/bin/sh echo "number:$#" # 传给脚本的参数个数 echo "scname:$0" # 脚本的名字 echo "first :$1" # 传递给该shell脚本的第一参数 echo "second:$2" # 传递给该shell脚本的第二个参数 echo "argume:$@" # 传递给脚本的所有的参数的列表 echo "show parm list:$*" # 以一个单字符串显示所有向脚本传递的参数, 与位置不同,参数可以超过九个 echo "show process id:$$" # 脚本运行的当前ID号 echo "show precomm stat: $?" # 显示最后命令的退出状态,0表示正确,其它数字表示错误 # ./variable aa bb number:2 scname:./variable first:aa second:bb argume:aa bb show parm list:aa bb show process id:24544 show precomm stat:0
$@ 与 $* 的相同点如下:
1、直接输出不保留空格
2、带双引号输出会保留带引号的空格
3、不带双引号循环遍历的输出结果一样:每个字符串单独输出
不同点如下:
1、带双引号遍历$*相当于带双引号输出$*
2、带双引号遍历$@分别输出每个参数,带双引号的参数保留空格输出
[root@localhost ~]# set 'apple pie' pears peaches [root@localhost ~]# for i in $* > do > echo $i > done apple pie pears peaches [root@localhost ~]# set 'apple pie' pears peaches [root@localhost ~]# for i in $@ > do > echo $i > done apple pie pears peaches [root@localhost ~]# set 'apple pie' pears peaches [root@localhost ~]# for i in "$*" > do > echo $i # 将所有参数变量视为一个 > done apple pie pears peaches [root@localhost ~]# set 'apple pie' pears peaches [root@localhost ~]# for i in "$@" > do > echo $i # 这里的单引号将两个单词合成一个 > done apple pie pears peaches
原创文章,作者:pingsky,如若转载,请注明出处:http://www.178linux.com/36084
评论列表(1条)
写的较为简单哦,变量分为本地变量,环境变量,全局变量,位置变量,特殊变量等,这些都需要自己去整理的哦