简单的 if/else 语句不起作用

简单的 if/else 语句不起作用

我已经尝试了很长一段时间让这段基本的代码在 shell 脚本中工作,但无济于事,代码无法工作!

read dec
if [ dec="Y"]||[dec="Y"]||[dec="y" ]; then
let repeat=1;
else
let repeat=0;
fi
done

答案1

[和字符两侧都需要空格],因为它们是命令,而不是运算符。

您也不需要let,并且需要将其读取dec为变量(即$dec)。

您还可以将变量大写以进行测试,因此您不需要同时针对大写(两次!)和小写结果进行测试。

done最后也不需要 the ,因为没有循环。

read dec
if [[ "${dec^}" = "Y" ]]; then
  repeat=1
else
  repeat=0
fi

相关内容