天天看點

Shell特殊位置變量($0,$1$2,$*,$#,$$,$?,$@,${})

$0    檔案名及路徑

$1,$2    參數1,參數2

$#    傳遞給腳本或函數的參數個數

$$    目前Shell程序ID

$?    判斷上個指令的執行成功與否,0為成功。

$@    傳遞腳本或函數的所有參數

$*    傳遞腳本或函數的所有參數

${}

注:$@和$*都是傳遞腳本或函數的所有參數。被雙引号" "包含時,兩者有差別如下

[root@web01 shell]# cat 007.sh

#!/bin/bash

for var in “$@”

do

echo "$var"

done

[root@web01 shell]# sh 007.sh feng cx xiao

feng

cx

xiao

for var in "$*"

feng cx xiao

$var和${var}差別

如:當你要顯示變量值加随意的字元時

echo $var_AA$var會将後面的_AA也當做變量的一部分

echo ${var}_AA${var}不會将後面的_AA當作變量的一部分

本文轉自 fxl風 51CTO部落格,原文連結:http://blog.51cto.com/fengxiaoli/1952185