咱们能够在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$n。n 表明一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推…bash
#!/bin/bash echo "执行的文件是:$0" echo "第一个参数: $1" echo "第二个参数:$2" echo "第三个参数:$3" echo "传递的参数个数: $#" echo "以一个单字符串显示全部向脚本传递的参数: $*" echo "脚本运行的当前进程ID号: $$" echo "后台运行的最后一个进程的ID号: $!" echo "是使用时加引号,并在引号中返回每一个参数:$@" echo "显示Shell使用的当前选项,与set命令功能相同。 $-" echo "显示最后命令的退出状态。0表示没有错误,其余任何值代表有错误: $?" #将param.sh脚本变为可执行 chmod +x ./param.sh #执行脚本 ./param.sh A B C D E F G 猪八戒 孙悟空 1 2 3 4 5 6 http://www.nihao.com
#输出内容
执行的文件是:./param.sh
第一个参数: A
第二个参数:B
第三个参数:C
传递的参数个数: 16
以一个单字符串显示全部向脚本传递的参数: A B C D E F G 猪八戒 孙悟空 1 2 3 4 5 6 http://www.nihao.com
脚本运行的当前进程ID号: 14621
后台运行的最后一个进程的ID号:
是使用时加引号,并在引号中返回每一个参数:A B C D E F G 猪八戒 孙悟空 1 2 3 4 5 6 http://www.nihao.com
显示Shell使用的当前选项,与set命令功能相同。 hB
显示最后命令的退出状态。0表示没有错误,其余任何值代表有错误: 0spa
$* 与 $@ 区别:code
#!/bin/bash echo "以一个单字符串显示全部向脚本传递的参数: $*" echo "-- \$* 演示--" for i in "$*"; do echo $i done echo "-- \$@ 演示 ---" echo "是使用时加引号,并在引号中返回每一个参数:$@" for i in "$@"; do echo $i done #执行脚本: chmod +x ./param.sh ./param.sh a b c d #脚本输出 以一个单字符串显示全部向脚本传递的参数: a b c d -- $* 演示-- a b c d -- $@ 演示 --- 是使用时加引号,并在引号中返回每一个参数:a b c d a b c d