2012-01-30 78 views
0

我試圖運行此代碼。基本上我想https://admin:[email protected]「‘$ DMP’」:7777/set_param'「$ PARAMS 命令,爲陣列的每個IP運行3次,但是我越來越喜歡在Bash調試中需要幫助

prog.sh: line 7: syntax error near unexpected token `while' 
prog.sh: line 7: `while [ $n -lt 3 ]; do' 

錯誤可以請別人糾正代碼?

#!/bin/bash 

n="0" 
dmps=(10.104.164.104 10.35.176.77 10.35.176.126) # ***** put your dmp ips here ******* 

for dmp in ${dmps[@]}; 
while [ $n -lt 3 ]; do 


    do res=$(curl -k -s --url 'https://admin:[email protected]'"$dmp"':7777/set_param?'"$params"); 
    echo "DMP: $dmp - $res"; 
n=$[n+1] 
done 

done 

回答

4
  • 加之前[
  • 空間添加; do]

    while [ n -lt 3 ]; do 
    

read more

+0

喜千電子伏,其實我在原來的職位編輯的代碼。這就是我想要的。 BUt在那個我得到錯誤,像prog.sh:第7行:語法錯誤附近意想不到的標記'而' prog.sh:第7行:'while [$ n -lt 3];做' – mac 2012-01-30 13:56:40

+0

** **之後,你有兩個'做'。你應該[閱讀更多](http://www.gnu.org/software/bash/manual/bash.html#Looping-Constructs)來修復語法錯誤。 – kev 2012-01-30 14:38:01

+0

您在'for'中仍然缺少'do'。正確的語法是'var for list ...; **做東西; done' – tripleee 2012-01-30 16:39:28