2010-11-19 23 views
24

Mon script shell ressemble à quelque chose comme ça ...en utilisant OR dans le script shell

if [[ $uptime -lt 0 ]];then 
some code 
fi 

if [[ $questions -lt 1 ]];then 
some code 
fi 

if [[ $slow -gt 10 ]];then 
some code 
fi 

Comment puis-je utiliser OU et un seul si l'article?

+1

dans ce shell? sh, bash? –

+0

Copie possible de [Comment faire une opération OR logique dans Shell Scripting] (https://stackoverflow.com/questions/4111475/how-to-do-a-logical-or-operation-in-shell-scripting) –

Répondre

30
if [ $uptime -lt 0 -o $questions -lt 1 -o $slow -gt 10 ] ; then 
    some code 
fi 

Voir man test pour la syntaxe et les options disponibles. L'opérateur [ est un raccourci juste pour test, de sorte que le code ci-dessus est équivalent à:

if test $uptime -lt 0 -o $questions -lt 1 -o $slow -gt 10 ; then 
    some code 
fi 
26

Vous devriez pouvoir utiliser || ou -o Je pense comme suit:

if [ $uptime -lt 0 ] || [ $questions -lt 1 ] || [ $slow -gt 10 ]; then 
    some code 
fi