下面的代码在CentOS和Ubuntu /s上可以正常工作,但在Red hat上就不行了。需要进行哪些更改?
CentOS 5.3版(最终) Linux ubuntu 2.6.24-19-generic #1 SMP Wed Jun 18 14:43:41 UTC 2008 i686 GNU/Linux
#!/bin/bash
depot=$1
table=$2
database=$3
combined="$depot$table"
if [ "$table" = 'routes' -o "$table" = 'other_routes' ]; then
echo 'first if successful'
elif [ "$table" = 'bus_stops' ]; then
echo 'elif successful'
else
echo 'else succsesful'
fi发布于 2009-09-04 13:17:13
我这里有Red Hat Enterprise Linux和CentOS机器(我知道它们是一回事)
对于我来说,这个脚本在这两个脚本上的效果是一样的,所以我真的不理解OP的问题。
-bash-3.2$ ./foo.bash foo other_routes
first if successful
-bash-3.2$ ./foo.bash foo routes
first if successful
-bash-3.2$ ./foo.bash foo bus_stops
elif successful
-bash-3.2$ ./foo.bash foo another
else succsesful发布于 2009-09-04 13:15:54
CentOS == RedHat.你的问题说不通。您使用的是什么版本的bash?你期望得到什么输出,你得到了什么呢?
发布于 2013-03-23 03:29:08
CentOS!=RHEL。我不知道您的突破点在哪里,但我让两个系统都在运行,而且确实存在一些差异,至少如果您也使用RHEL的话。甚至一些完整的函数在CentOS上也不存在,虽然发行版和内核是匹配的,但是在它们之间移植脚本时,我确实遇到了一些问题。
https://stackoverflow.com/questions/1379127
复制相似问题