我发现在 if 语句中使用 && 会导致 bash 出现错误。我想知道是否有人能解释为什么会出现这种情况,以及是否有办法仅在 command1 和 2 正常退出时运行 command3。我注意到,在这个例子中 var 可以为空,也可以不为空。
这是一个简单的例子:
#!/bin/bash
var=empty or not
command1
if [ -n "$var" ]; then
command2 &&
fi
command3
>>> line 7: syntax error near unexpected token `fi'