1

私は単純なシェル スクリプトを書いていますが、「不正な番号」に関する奇妙なエラーが発生しています。これが私のコードです:

status=0
maxRetries=3
retryCount=1
while [[ status == 0 ]] || [[ retryCount -le  maxRetries ]]
do
    ....
    retryCount=$((retryCount+1))
done

私が見る限り、私は maxRetries と retryCount を整数として適切に宣言したので、while ステートメントで不正な数について不平を言う理由がわかりません。誰にもアイデアがありますか?

4

1 に答える 1

2

statusretryCountおよびmaxRetriesは文字列であり、数値ではありません。これらのパラメーターを$印章で展開します。あるいは、シジルを必要としない算術式を使用することもできます。

while (( status == 0 || retryCount < maxRetries ))
于 2013-10-04T00:41:52.077 に答える