我在 bash 脚本中有一个简单的主机名检查:
if [[ `hostname` -eq "cps1214" ]]
then
JAVA_HOME=/usr/local/jdk1.6.0_21
fi
在我们旧的 SuSE 8 系统上,这可以正常工作。在我们较新的 CentOS 系统上,这会导致错误:
[[:dev.example.com:语法错误:算术运算符无效 (错误标记是“.example.com”)
我不确定这里的问题是什么。我的理解是-eq
明确地用于字符串比较,hostname
显然是返回一个字符串,并且右侧也是一个字符串。为什么抱怨算术?