以下代码在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
答案 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上也没有一些整个功能,并且我偶尔在它们之间移植脚本时会遇到问题,尽管发布和内核是匹配的。