GNU/Linux >> Linux Esercitazione >  >> Linux

Verifica che ci siano almeno due argomenti forniti in uno script bash

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.


Linux
  1. Aggiunta di argomenti e opzioni ai tuoi script Bash

  2. Passare gli argomenti della riga di comando allo script Bash?

  3. Come controllare la sottostringa in Shell Script Bash?

  4. Come controllare i moduli PHP e Apache installati su un Linux?

  5. C'è un modo per verificare se ci sono collegamenti simbolici che puntano a una directory?

Bash Beginner Series #3:Passare argomenti agli script Bash

Come posso controllare la sintassi di uno script Bash senza eseguirlo?

Esegui il comando bash sulla pipeline jenkins

C'è un modo per mostrare la notifica dallo script bash in Ubuntu?

Bash script per verificare se un sito HTTPS pubblico è attivo

Ci sono due MOTD mostrati quando accedo al mio server usando SSH