Unix中的if/then语句总是将我放在else语句中。我在用Bash。

name="Don"
if [ "$name" == "Don" ]; then
  echo "Hi Don!"
else
  echo "You are not Don. You are: $name"
fi

这是我的第一个Unix shell脚本,所以我确信这是显而易见的。我已经对照了样式指南和其他if/then示例,但没有发现任何错误:http://www.dreamsyssoft.com/unix-shell-scripting/ifelse-tutorial.php

最佳答案

如果您在POSIX shell中,请不要使用==。而是使用===是Bash特有的。

name="Don"
if [ "$name" = "Don" ]; then
  echo "Hi Don!"
else
  echo "You are not Don. You are: $name"
fi

关于bash - Unix:if/then语句始终为false,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18971548/

10-11 13:39