我的代码有问题: -RHEL:
Linux 2.6.32-642.el6.x86_64 #1 SMP Wed Apr 13 00:51:26 EDT 2016 x86_64 x86_64 x86_64 GNU/Linux
$ sh
sh-4.1$ FAX=""
sh-4.1$ if [ "$FAX" -eq "" ]; then FAX="+390000000";fi;echo $FAX
sh: [: : integer expression expected
sh-4.1$ which sh
/bin/sh
sh-4.1$ sh --version
GNU bash, version 4.1.2(1)-release (x86_64-redhat-linux-gnu)
-Solaris:
SunOS 5.10 Generic_150401-13 i86pc i386 i86pc
$ sh
$ FAX=""
$ if [ "$FAX" -eq "" ]; then FAX="+390000000";fi;echo $FAX
+390000000
$ which sh
/usr/bin/sh
正确的代码应该是:
if [ "$FAX" == "" ]; then FAX="+390000000";fi;echo $FAX
以前的开发人员在Solaris下发布了大量带有错误代码的脚本,现在我需要将系统迁移到RHEL。
是否可以更改某些RHEL参数或RHEL sh版本来解决此问题?
非常感谢。 鲁杰罗