<Precedenti | Contenuti | Succ.>
Operatori di controllo: un altro modo per ramificarsi
bash fornisce due operatori di controllo che possono eseguire il branching. Il && (AND) e || Gli operatori (OR) funzionano come gli operatori logici nel comando composto [[ ]]. Questa è la sintassi:
command1 && command2
ed
command1 || command2
È importante capire il comportamento di questi. Con il && operatore, command1 viene eseguito e command2 viene eseguito se, e solo se, command1 ha successo. Con il || operatore, command1 viene eseguito e command2 viene eseguito se, e solo se, command1 non ha successo.
In termini pratici, significa che possiamo fare qualcosa del genere:
[io@linuxbox~]$ mkdir temp && cd temp
[io@linuxbox~]$ mkdir temp && cd temp
Questo creerà una directory chiamata Temp., e se ha esito positivo, la directory di lavoro corrente verrà modificata in Temp.. Il secondo comando viene eseguito solo se il mkdir il comando ha esito positivo. Allo stesso modo, un comando come questo:
[io@linuxbox~]$ [[ -d temp ]] || mkdir temp
[io@linuxbox~]$ [[ -d temp ]] || mkdir temp
verificherà l'esistenza della directory Temp., e solo se il test fallisce, verrà creata la directory. Questo tipo di costrutto è molto utile per gestire gli errori negli script, un argomento di cui parleremo più approfonditamente nei capitoli successivi. Ad esempio, potremmo farlo in uno script:
[ -d temperatura ] || uscita 1
[ -d temperatura ] || uscita 1
Se lo script richiede la directory Temp.e non esiste, lo script terminerà con uno stato di uscita.