2010-11-19 21 views
24

mio shell cerca qualcosa di simile ...utilizzare o in script di shell script di

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

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

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

Come faccio a usare OR e hanno una sola, se la clausola?

+1

in che shell? sh, bash? –

+0

Possibile duplicato di [Come eseguire un'operazione OR logica in Shell Scripting] (https://stackoverflow.com/questions/4111475/how-to-do-a-logical-or-operation-in-shell-scripting) –

risposta

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

Vedi man test per la sintassi e le opzioni disponibili. L'operatore [ è solo una scorciatoia per test, in modo che il codice di cui sopra è equivalente a:

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

Si dovrebbe essere in grado di utilizzare || o -o penso come segue:

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