<分区>
我的代码是:
if [ "$server" == "a" ]; then
echo "apache"
fi
if [ "$server" == "t" ]
then
echo "tomcat"
else
echo "Entered"
fi
$server
的值为t
。我希望值 tomcat
打印在控制台上。但是 Entered
也被打印出来了!
我对此感到困惑。为什么if
和else
语句都被执行了?
<分区>
我的代码是:
if [ "$server" == "a" ]; then
echo "apache"
fi
if [ "$server" == "t" ]
then
echo "tomcat"
else
echo "Entered"
fi
$server
的值为t
。我希望值 tomcat
打印在控制台上。但是 Entered
也被打印出来了!
我对此感到困惑。为什么if
和else
语句都被执行了?
最佳答案
else 分支只有在前面的 if 语句计算结果为 false 时才会执行。据我所知,该规则没有任何异常(exception)。导致问题的 bash 文件中可能有其他可疑的事情。
确保 bash 正在执行脚本。 #!/bin/bash
应该在第一行。
关于bash - 为什么 if 和 else 都被执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12986561/