2009-09-04 12 views
2

Le code suivant fonctionne comme prévu sur CentOS et Ubuntu O/s mais pas sur Red Hat. Quels changements doivent être faits?Compatibilité Red Hat

CentOS 5.3 libèrent (Final) Linux ubuntu-2.6.24-19 générique # 1 SMP Mer 18 juin 2008 14:43:41 UTC 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

Il pourrait être utile si vous avez expliqué comment cela fonctionne échoue? Qu'est-ce qui ne va pas sur Red Hat? – Glen

Répondre

2

J'ai Red Hat Enterprise Linux et CentOS boîtes ici (je sais qu'ils sont la même chose)

Ce script fonctionne même sur les deux pour moi, donc je ne comprends vraiment pas la question de l'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 
0

CentOS == RedHat. Votre question n'a pas de sens. Quelles versions de bash utilisez-vous? Quel résultat attendez-vous, et qu'est-ce que vous obtenez à la place?

0

CentOS! = RHEL. Je ne vois pas où est votre point de rupture, mais j'ai les deux systèmes en cours d'exécution et il y a des différences en effet, au moins si vous aussi utilisez RHEL. Même certaines fonctions entières ne sont pas présentes sur CentOS qui sont dans RHEL et je rencontre des problèmes lors du portage de script entre eux de temps en temps bien que la version et le noyau correspondent.

Questions connexes