我收到错误第8行:[:N:预期的整数表达式。我试过删除" $ userManuf 中的#strong; ,并将 = 更改为 == ,但仍然收到错误消息。我该怎么办?感谢
rich:fileUpload
答案 0 :(得分:2)
当$userManuf
扩展为N
时发生错误,但您尝试将其用作整数运算符-ne
的操作数。最简单的解决方法是首先验证它是否具有数值(然后使用算术语句来简化比较):
if [[ $userManuf =~ [0-9]+ ]] && (( 0 < userManuf && userManuf <= countManuf )); then
assetModelManuf=$userManuf
elif [[ $userManuf = [nN] ]]; then
read -p "Type new manufacturer name: " assetModelManuf
else
echo "Try again!" && manuf
fi
您可能还想使用while
循环而不是递归调用manuf
。我将此作为练习(或者如果有必要,将来的问题)留下。