bash中有一些特殊的预设参数,假如我们执行一条指令:
sh test.sh 1 2 3
那么test中常见的参数为:
$0: 执行的文件名:test.sh $1: 第一个参数: 1 $2: 第二个参数: 2 $3: 第三个参数: 3 $#: 参数个数: 3 $*: 所有参数合成一个字符串 1 2 3 $@: 所有参数单独显示 1 2 3 $$: 脚本当前进程ID号:64372 $!: 后台运行的最后一个进程的ID号: $?: 上一条指令的退出状态,0表示成功,非0错误:0
本例的测试脚本内容:
echo "\$0: 执行的文件名:$0"; echo "\$1: 第一个参数: $1"; echo "\$2: 第二个参数: $2"; echo "\$3: 第三个参数: $3"; echo "\$#: 参数个数: $#"; echo "\$*: 所有参数合成一个字符串"; for var in "$*" do echo "$var" done echo "\$@: 所有参数单独显示"; for var in "$@" do echo "$var" done echo "\$$: 脚本当前进程ID号:$$" echo "\$!: 后台运行的最后一个进程的ID号:$!" echo "\$?: 上一条指令的退出状态,0表示成功,非0错误:$?"
回复 will blue cross cover propecia 取消回复