shell编程中的特殊变量

1. $n

功能描述:n 为数字,$0 代表该脚本名称,$1-$9 代表第一到第九个参数,十以上的参数,十以上的参数需要用大括号包含,如${10}
parameter.sh文件里输入

#!/bin/bash
echo '==========$n=========='
echo $0
echo $1
echo $2

再调用这个脚本sh parameter.sh aaa bbb,就会输出结果

parameter.sh
aaa
bbb

2. $#

功能描述:获取所有输入参数个数,常用于循环,判断参数的个数是否正确
比如在parameter.sh文件里增加一句echo $#
再调用这个脚本sh parameter.sh aaa bbb,就可以输出结果

2

表示一共传进来2个参数

3. $*

功能描述:这个变量代表命令行中所有的参数,$*把所有的参数看成一个整体

4. $@

功能描述:这个变量代表命令行中所有的参数,$@把每个参数区分对待

5. $?

最后一次执行的命令的返回状态。如果这个变量的值为0,证明上一个命令正确执行,否则就表示没有正确执行

[root@cloudmyc test]# test 1=1 
[root@cloudmyc test]# echo $?
0
[root@cloudmyc test]# test 1 -gt 1
[root@cloudmyc test]# echo $?
1

先测试1=1,之后输入$?,得到0,表示1=1的命令是正确的,之后测试1大于1,得到1,表示失败


版权声明:本文为weixin_44999258原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。