我有这个 bash 声明:
if ls > /dev/null 2>&1 -a ls > /dev/null 2>&1; then
echo "true";
else
echo "false";
fi
这给了我“假”。但我知道ls总会回来0(即真的)。我原以为这-a是一个 AND 语句。
当我将其更改为:
if ls > /dev/null 2>&1 && ls > /dev/null 2>&1; then
echo "true";
else
echo "false";
fi
有用。这里有什么不同?不是-aAND运算符吗?