linux中shell變量$#,$@,$0,$1,$2的基本含義:
變量說明:
$$
Shell本身的PID(ProcessID)
$!
Shell最后運行的后台Process的PID
$?
最后運行的命令的結束代碼(返回值)
$-
使用Set命令設定的Flag一覽
$*
所有參數列表。如"$*"用「"」括起來的情況、以"$1 $2 … $n"的形式輸出所有參數。
$@
所有參數列表。如"$@"用「"」括起來的情況、以"$1" "$2" … "$n" 的形式輸出所有參數。
$#
添加到Shell的參數個數
$0
Shell本身的文件名
$1~$n
添加到Shell的各參數值。$1是第1參數、$2是第2參數…。
實例:
$ vim dollar.sh
#!/bin/bash printf "The complete list is %s\n" "$$" printf "The complete list is %s\n" "$!" printf "The complete list is %s\n" "$?" printf "The complete list is %s\n" "$*" printf "The complete list is %s\n" "$@" printf "The complete list is %s\n" "$#" printf "The complete list is %s\n" "$0" printf "The complete list is %s\n" "$1" printf "The complete list is %s\n" "$2" printf "The complete list is %s\n" "$3"
結果展示:
[sunny@xxxx ]$ sh dollar.sh 123456 654321 qq ww The complete list is 3278 The complete list is The complete list is 0 The complete list is 123456 654321 qq ww The complete list is 123456 The complete list is 654321 The complete list is qq The complete list is ww The complete list is 4 The complete list is dollar.sh The complete list is 123456 The complete list is 654321 The complete list is qq
