1、传递参数
可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$n。n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推……
#!/bin/bash
echo "执行的文件名:$0";
echo "第一个参数为:$1";
echo "第二个参数为:$2";
echo "第三个参数为:$3";
为脚本设置可执行权限,并执行脚本,输出结果如下所示:
执行的文件名:./test.sh
第一个参数为:1
第二个参数为:2
第三个参数为:3
2、处理参数的几个特殊字符
参数 | 说明 |
---|---|
$# | 传递到脚本的参数个数 |
$* | 输出所有传递参数 |
$@ | 输出所有传递参数 |
$$ | 脚本运行的当前进程ID号 |
$! | 后台运行的最后一个进程的ID号 |
$- | 显示Shell使用的当前选项,与set命令功能相同。 |
$? | 显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。 |
3、$* 与 $@ 的区别
$*为"1 2 3"(一起被引号包住)
$@为"1" “2” “3”(分别被包住)
#!/bin/bash
#*********$* 演示**************
for i in "$*"; do
echo $i
done
echo "***********************"
#*********$@ 演示**************
for i in "$@"; do
echo $i
done
执行脚本,
$ chmod +x test.sh
$ ./test.sh 1 2 3
输出结果如下:
1 2 3
***********************
1
2
3