linux shell $ 特殊变量
$0 #Shell本身的文件名
$1~$n #添加到Shell的各参数值。$1是第1参数、$2是第2参数…
$* #所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。
$@ #所有参数列表。如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。
$# #添加到Shell的参数个数
$$ #Shell本身的PID(ProcessID)
$! #Shell最后运行的后台Process的PID
$? #最后运行的命令的结束代码(返回值)
$- #使用Set命令设定的Flag一览
$? #最后运行的命令的结束代码(返回值)
#!/bin/bash # ./a.sh hello world printf "scrip name = %s\n" "$0" printf "the first argument = %s\n" "$1" printf "the second argument = %s\n" "$2" printf "input argument's number %s\n" "$#" printf "PID = %s\n" "$$" printf "PPID = %s\n" "$PPID" nohup sleep 10 > /dev/null 2>&1 & printf "the last program's PID which has been put background = %s\n" "$!" cat /tmp/asdf.txt > /dev/null 2>&1 printf "last cmd output = %s\n" "$?" function func { echo "arg1 = $1, arg2 = $2" } func "$*" func "$@"
文章出处:http://www.cnblogs.com/aaron-agu/
只有毅力和决心才能使人真正具有价值!