Linux各種變數的含義

JouyPub發表於2018-08-04

# 是傳給指令碼的引數個數0 是指令碼本身的名字
1 是傳遞給該shell指令碼的第一個引數2 是傳遞給該shell指令碼的第二個引數
@ 是傳給指令碼的所有引數的列表* 是以一個單字串顯示所有向指令碼傳遞的引數,與位置變數不同,引數可超過9個
$$ 是指令碼執行的當前程式ID號
$? 是顯示最後命令的退出狀態,0表示執行成功,其他表示執行失敗

我們可以寫一個指令碼演示下:

vi variable_test.sh

# 內容如下
#!/bin/sh
echo "args number:$#"
echo "file name:$0"
echo "first arg :$1"
echo "second arg:$2"
echo "args:$@"
echo "args list:$*"
echo "process id:$$"
echo "process exit stat: $?"

然後儲存退出,給指令碼賦執行許可權,執行

chmod +x variable_test.sh

./variable_test.sh arg1 arg2

執行結果:

args number:2
file name:./variable_test.sh
first arg :arg1
second arg:arg2
args:arg1 arg2
args list:arg1 arg2
process id:4051
process exit stat: 0


相關文章