Usa lo $#
variabile speciale. Il suo valore è il numero di argomenti. Quindi, se hai uno script che contiene solo:
echo $#
ed eseguilo in questo modo:
thatscript foo bar baz quux
Stamperà 4.
Nel tuo caso potresti voler fare qualcosa del tipo:
if [ $# -lt 2 ]; then
# TODO: print usage
exit 1
fi
Seguendo il requisito della domanda che gli argomenti dovrebbero contenere "almeno 2 cose", penso che potrebbe essere più accurato controllare:
if (( $# < 2 )); then
# TODO: print usage
exit 1
fi
Utilizzo dell'espansione aritmetica ((
))
impedirà a questo di colpire exit 1
per qualsiasi valore diverso da 2.
Se usi if [ $# -ne 2 ];
attiverà il condizionale per qualsiasi numero di argomenti diverso da 2.
Modifica:sembra che la risposta accettata sia stata aggiornata per includere un esempio equivalente (e più portabile?) Di questo.