脚本内获取参数的格式为:$n。n 代表一个数字,0 为执行的文件名(包含文件路径),1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推……
echo "Shell 传递参数实例!";
echo "执行的文件名:$0";
echo "第一个参数为:$1";
echo "第二个参数为:$2";
echo "第三个参数为:$3";
./helloShell.sh 1 2 3
其他特殊字符:
echo "Shell 传递参数实例!";
echo "执行的文件名:$0";
echo "第一个参数为:$1";
echo "第二个参数为:$2";
echo "第三个参数为:$3";
echo "传递到脚本的参数个数:$#"
echo "所有参数:$*"
echo "所有参数:$@"
echo "当前进程ID:$$"
echo "后台运行的最后一个进程的ID号:$!"
$@ 与 $* 的区别
for var in "$*"
do
echo "$var"
done
echo "--------------------"
for var in "$@"
do
echo "$var"
done
当 $* 和 $@ 不被双引号包围时,它们之间没有任何区别,都是将接收到的每个参数看做一份数据,彼此之间以空格来分隔。
但是当它们被双引号包含时,就会有区别了:
"$*"
会将所有的参数从整体上看做一份数据。"$@"
仍然将每个参数都看作一份数据,彼此之间是独立的。