2

次のコードは、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
4

3 に答える 3

2

ここには 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-04T13:17:13.017 に答える
0

CentOS == レッドハット。あなたの質問は意味がありません。どのバージョンの bash を使用していますか? どのような出力が期待され、代わりに何が得られますか?

于 2009-09-04T13:15:53.517 に答える
0

CentOS!=RHEL. 限界点がどこにあるのかわかりませんが、両方のシステムを実行しており、少なくともRHELも使用している場合、実際にはいくつかの違いがあります。RHEL にある CentOS には一部の機能全体が存在しません。リリースとカーネルが一致しているにもかかわらず、時々それらの間でスクリプトを移植するときに問題が発生します。

于 2013-03-22T19:29:08.317 に答える