pidlists=`ps -efx |grep java| awk '{ print $2 }'` for pid in $pidlists; do echo "hello pid=$pid\n" done
咱們先寫一個簡單的腳本,執行之後再解釋各個變量的意義 # touch variable # vi variable 腳本內容以下: #!/bin/sh echo "number:$#" echo "scname:$0" echo "first :$1" echo "second:$2" echo "argume:$@" echo "show parm list:$*" echo "show process id:$$" echo "show precomm stat: $?" 保存退出 賦予腳本執行權限 # chmod +x variable 執行腳本 # ./variable aa bb number:2 scname:./variable first:aa second:bb argume:aa bb show parm list:aa bb show process id:24544 show precomm stat:0
經過顯示結果能夠看到: $# 是傳給腳本的參數個數 $0 是腳本自己的名字 $1 是傳遞給該shell腳本的第一個參數 $2 是傳遞給該shell腳本的第二個參數 $@ 是傳給腳本的全部參數的列表 $* 是以一個單字符串顯示全部向腳本傳遞的參數,與位置變量不一樣,參數可超過9個 $$ 是腳本運行的當前進程ID號 $? 是顯示最後命令的退出狀態,0表示沒有錯誤,其餘表示有錯誤