3 581
contributi
m (→Concatenazione) |
mNessun oggetto della modifica |
||
Riga 425: | Riga 425: | ||
; <code>( ... )</code> : esegue il blocco di comandi in una subshell (le variabili vengono ripristinate al loro valore precedente, alla fine del blocco). | ; <code>( ... )</code> : esegue il blocco di comandi in una subshell (le variabili vengono ripristinate al loro valore precedente, alla fine del blocco). | ||
===Catturare l'exit status=== | |||
Per catturare lo stato d'uscita di un comando appena eseguito è sufficiente espandere la variabile speciale <code>$?</code>, come già visto. Tuttavia in caso di fallimento del comando, il controllo effettuato via <code>$?</code> avverrebbe soltanto '''dopo''' un blocco con errore (si veda la parte sul debug). | |||
Per evitare che un blocco abbia un exit status diverso da zero, si possono usare le concatenazioni <code>&&</code> e <code>||</code> (oppure un <code>if</code>): | |||
<pre> | |||
comando && | |||
status=0 || # se corretto | |||
status=$? # se sbagliato | |||
</pre> | |||
==Redirezione== | ==Redirezione== | ||
Riga 444: | Riga 454: | ||
# filtra le occorrenze di video | # filtra le occorrenze di video | ||
dmesg | grep -i video | dmesg | grep -i video | ||
</pre> | </pre> | ||
contributi