【发布时间】:2012-10-20 08:07:35
【问题描述】:
我的代码是:
if [ "$server" == "a" ]; then
echo "apache"
fi
if [ "$server" == "t" ]
then
echo "tomcat"
else
echo "Entered"
fi
$server 的值为t。我希望值tomcat 打印在控制台上。但是Entered也被打印出来了!
我对此感到困惑。 if和else语句怎么都执行了?
【问题讨论】:
-
为我工作。你确定
bash正在解释脚本吗? -
如果您看到
Entered,它一定来自脚本中的不同行,或者您循环回到这条语句,server的值已更改...... -
如果你使用
[ "$server" -eq "t" ],你会得到什么? -
相当肯定
-eq仅用于整数比较。 -
你试过
[ "X$server" = "Xt" ]