2015-12-11 118 views
2

我正在創建一個shell腳本,我需要在for循環中傳遞兩個參數(如散列標籤)。爲前。 (鍵值)在這裏,我將「value」參數與某個值進行比較,並在此基礎上需要對「key」參數執行某些操作。shell腳本:如何在for循環中傳遞2個參數?

,如:

for i in $(echo `awk '{print $0}' ab4`); or for i in $(cat ab4); 
do if [ "`awk -F":" '{print $2}' $i`" = "`some value`" ]; 
then echo "go ahead and restart app service on `awk '{print $1}' $i`"; 

{在這裏,我將使用命令重新啓動該服務,但我需要這筆$ 1美元這是一個主機名}

else echo "2nd condition here"; 
fi; 
done. 

內容AB4的像:

hostname app.rpmversion 

當我運行此,收到錯誤:"key" "value" in ab4 parameters are not a command.

請協助

回答

2

可以使用read內置此:

while read -r key val; do 
    printf "Processing key=%s, value=%s\n" "$key" "$val" 
done < ab4 

輸出:

Processing key=hostname, value=app.rpmversion 
+1

你救了我的時間:),它的工作,感謝的人 – Yash

相關問題