Linux中變量$#,$@,$0,$1,$2,,$3,$4,$5,$6,$7,$8,$9,$*,$$,$?的含義

咱們先寫一個簡單的腳本,執行之後再解釋各個變量的意義
# touch test.sh
# vi test.sh
腳本內容以下:
#!/bin/sh
echo "number:$#"
echo "scname:$0"
echo "first :$1"

echo "second:$2"shell

echo "third:$3"
ide

echo "fourth:$4"spa

echo "fifth:$5"進程

echo "sixth:$6"字符串

echo "seventh:$7"it

echo "eighth:$8"event

echo "ninth:$9"class

echo "argume:$@"
test

echo "show parm list:$*"
echo "show process id:$$"
echo "show precomm stat: $?"
保存退出
賦予腳本執行權限
# chmod +x variable
執行腳本
# ./variable aa bb cc dd ee ff gg hh ii
number:9
scname:./variable.sh
first :aa
second:bb
third:cc
fourth:dd
fifth:ee
sixth:ff
senventh:gg
eighth:hh
ninth:ii
argume:aa bb cc dd ee ff gg hh ii
show parm list:aa bb cc dd ee ff gg hh ii
show process id:1635
show precomm stat: 0
經過顯示結果能夠看到:
$# 是傳給腳本的參數個數
$0 是腳本自己的名字
$1 是傳遞給該shell腳本的第一個參數

$2 是傳遞給該shell腳本的第二個參數
.......
$@ 是傳給腳本的全部參數的列表
$* 是以一個單字符串顯示全部向腳本傳遞的參數,與位置變量不一樣,參數可超過9個
$$ 是腳本運行的當前進程ID號
$? 是顯示最後命令的退出狀態,0表示沒有錯誤,其餘表示有錯誤
相關文章
相關標籤/搜索