红帽兼容性

时间:2009-09-04 13:06:17

标签: shell redhat

以下代码在CentOS和Ubuntu O / 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

3 个答案:

答案 0 :(得分:2)

我在这里有红帽企业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

答案 1 :(得分:0)

CentOS == RedHat。你的问题没有意义。你使用什么版本的bash?你期望什么输出,你会得到什么?

答案 2 :(得分:0)

的CentOS!= RHEL。我没有看到你的突破点在哪里,但我有两个系统都在运行,确实存在一些差异,至少如果你也使用RHEL。即使是在RHEL上的CentOS上也没有一些整个功能,并且我偶尔在它们之间移植脚本时会遇到问题,尽管发布和内核是匹配的。