特殊的shell變量:shell
$0 獲取當前執行的shell腳本的文件名測試
$n 獲取當前執行的shell腳本的第n個參數值,n=1..9spa
$* 獲取當前shell的全部參數 「$1 $2 $3 …注意與$#的區別.net
$# 獲取當前shell命令行中參數的總個數命令行
$$ 獲取當前shell的進程號(PID)orm
$! 執行上一個指令的PID進程
$? 獲取執行的上一個指令的返回值(0 爲成功, 非零爲失敗)ci
$@ 這個程序的全部參數 「$1″ 「$2″ 「$3″ 「…」get
舉例(經過腳本舉例,你們也能夠一行行執行測試):it
[ryan@etiantian test]# cat etiantian.sh
echo ‘$0 獲取當前執行的shell腳本的文件名:’$0
echo ‘$n 獲取當前執行的shell腳本的第n個參數值,n=1..9:’ ‘$1′=$1 ‘$2′=$2 「\$3=$3″
echo ‘$* 獲取當前shell的全部參數 「$1 $2 $3 …注意與$#的區別:’$*
echo ‘$# 獲取當前shell命令行中參數的總個數:’$#
echo ‘$$ 獲取當前shell的進程號(PID):’$$
sleep 2 &
echo ‘$! 執行上一個指令的PID :’$!
echo ‘$? 獲取執行的上一個指令的返回值:’$?
echo ‘$@ 這個程序的全部參數 「$1″ 「$2″ 「$3″ 「…」:’$@
腳本執行結果(你們仔細看):
[ryan@etiantian test]# sh etiantian.sh 參數1 參數2 參數3
$0 獲取當前執行的shell腳本的文件名: etiantian.sh
$n 獲取當前執行的shell腳本的第n個參數值,n=1..9: $1=參數1 $2=參數2 $3=參數3
$* 獲取當前shell的全部參數 「$1 $2 $3 …注意與$#的區別: 參數1 參數2 參數3
$# 獲取當前shell命令行中參數的總個數: 3
$$ 獲取當前shell的進程號(PID): 2062
$! 執行上一個指令的PID : 2063
$? 獲取執行的上一個指令的返回值: 0
$@ 這個程序的全部參數 「$1″ 「$2″ 「$3″ 「…」: 參數1 參數2 參數3
[root@hess test]# sh etiantian.sh ryan jeacen david
$0 獲取當前執行的shell腳本的文件名: etiantian.sh
$n 獲取當前執行的shell腳本的第n個參數值,n=1..9: $1=ryan $2=jeacen $3=david
$* 獲取當前shell的全部參數 「$1 $2 $3 …注意與$#的區別: ryan jeacen david
$# 獲取當前shell命令行中參數的總個數: 3
$$ 獲取當前shell的進程號(PID): 2160
$! 執行上一個指令的PID : 2161
$? 獲取執行的上一個指令的返回值: 0
$@ 這個程序的全部參數 「$1″ 「$2″ 「$3″ 「…」: ryan jeacen david