2011-11-03 14 views

risposta

24

Utilizzare la variabile speciale $#. Il suo valore è il numero di argomenti. Quindi, se si dispone di uno script che contiene solo:

echo $# 

ed eseguirlo in questo modo:

thatscript foo bar baz quux 

Sarà stampare 4.

Nel tuo caso si consiglia di fare qualcosa di simile :

if [ $# -ne 2 ]; then 
    # TODO: print usage 
    exit 1 
fi 
15

Andando dal requisito dalla questione che gli argomenti devono contenere "almeno 2 cose", penso potrebbe essere più preciso per controllare:

if (($# < 2)); then 
    # TODO: print usage 
    exit 1 
fi 

Utilizzando arithmetic expansion(()) sarà evitare che ciò che colpisce exit 1 per qualsiasi valore non uguale a 2.

Se si utilizza if [ $# -ne 2 ]; si innescherà il condizionale per qualsiasi numero di argomenti diversi da 2.

Problemi correlati