我正在写一个简单的shell脚本,我有一个奇怪的错误关于“坏数字”。这是我的代码:
status=0
maxRetries=3
retryCount=1
while [[ status == 0 ]] || [[ retryCount -le maxRetries ]]
do
....
retryCount=$((retryCount+1))
done
据我所见,我已经正确地将maxretries和retrycount声明为整数,所以我不明白为什么它会抱怨while语句中的数字不正确。
有人知道吗?
最佳答案
status
、retryCount
和maxRetries
是字符串,而不是数字。您需要用$
sigil扩展这些参数。或者,可以使用不需要sigil的算术表达式。
while (( status == 0 || retryCount < maxRetries ))