执行脚本时可以向shell脚本传递参数,格式为:$n,可以传一个,也可以传多个参数,例如建一个test.sh脚本,内容如下
echo "Shell传递参数实例"
echo "执行的文件名:$0"
echo "第一个参数为:$1"
echo "第二个参数为:$2"
echo "第三个参数为:$3"
echo "参数个数为:$#"
echo "当前进程ID为:$$"
echo '$@'
for i in "$@";do
echo $i
done
echo '$*'
for i in "$*";do
echo $i
done
执行脚本./test.sh 1 2 3
输出:
执行的文件名:./test.sh
第一个参数为:1
第二个参数为:2
第三个参数为:3
参数个数为:3
当前进程ID为:17275
$@
1
2
3
$*
1 2 3
总结:
$#:显示传参的的个数;
$@:引用所有参数,相当于传了脚本运行时写的n个参数;
$*:也是引用所有参数,但是它把脚本运行时写的n个参数等价成了一个参数;
$$:显示当前脚本运行进程的PID;