<Precedenti | Contenuti | Succ.>
Operatori di controllo: un altro modo per ramificarsi
Bash fornisce due operatori di controllo che possono eseguire la ramificazione. Gli operatori && (AND) e || (OR) funzionano come gli operatori logici nel comando composto [[ ]]. Questa è la sintassi:
command1 && command2
e
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 denominata Temp.e se ha successo, la directory di lavoro corrente verrà modificata in Temp.. Il secondo comando viene tentato solo se il mkdir com- 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, la directory verrà creata. Questo tipo di costrutto è molto utile per gestire gli errori negli script, un argomento che approfondiremo nei capitoli successivi. Ad esempio, potremmo farlo in uno script:
[ -d temp ] || uscita 1
[ -d temp ] || uscita 1
Se lo script richiede la directory Temp.e non esiste, lo script terminerà con uno stato di uscita pari a uno.