我遇到了一個小問題,下面的代碼片斷,我不知道爲什麼。給出的誤差是(線表示):Bash腳本操作數預計
* 2:語法錯誤:操作數預期(錯誤標記爲 「* 2」)
while [[ $numberServers -gt $newindex ]]; do
serverPort=$((9001+$(($newindex*2)))) <--- This line
clientPort=$(($serverPort+1))
newindex=$(($newindex+1))
localhostport=$((serverPort-2))
string=$(($string,localhost:$(($serverPort-2))))
...
任何幫助,將不勝感激。
聽起來像是'$ newindex'沒有您所期望的價值。它有什麼價值? –
它看起來好像'$ newindex'是空的。在公式中使用它之前,您應該測試它是否有價值。另外,括號太多! 'serverPort = $((9001 + $ newindex * 2))'應該完全一樣。同樣,'newindex = $(($ newindex + 1))'可以用'((newindex ++))'代替。 – ghoti
你也在濫用最後一行的算術表達式;大概你想追加字符串'localhost:$(($ serverPort-2))'到'string'的末尾。 – chepner