2009-09-04 4 views
2

Следующий код работает, как ожидается, на CentOS и Ubuntu O/s, но не на Red hat. Какие изменения необходимо сделать?Совместимость с красной шляпой

CentOS релиз 5.3 (Final) Linux Ubuntu 2.6.24-19-родовое # 1 SMP Wed 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

Это может помочь, если вы объяснили, как это работает. Что происходит с Red Hat? – Glen

ответ

2

У меня как Red Hat Enterprise Linux и CentOS коробки здесь (я знаю, что они то же самое)

Этот сценарий работает одинаково на обоих из них для меня, так что я действительно не понимаю, вопрос ОП.

-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 
0

CentOS == RedHat. Ваш вопрос не имеет смысла. Какие версии bash вы используете? Какой результат вы ожидаете, и что вы получаете вместо этого?

0

CentOS! = RHEL. Я не вижу, где ваш разрыв, но у меня обе системы работают, и есть некоторые отличия, по крайней мере, если вы тоже используете RHEL. даже некоторые целые функции не присутствуют в CentOS, которые находятся в RHEL, и у меня возникают проблемы при переносе скрипта между ними каждый раз, а затем, хотя релиз и ядро ​​соответствуют.

Смежные вопросы