E’ divertente come attraverso piccoli compiti quotidiani capiti di trovare nuove funzionalità o comandi che prima non si conoscevano, ed anche oggi mi è capitata questa cosa.
In particolare dovevo fare una cosa abbastanza semplice su un server dove avevo un terminale, lanciare : comando1 | tail -n 2
tail
mi serviva per avere da un lungo output solo le linee significative che poi dovevo passare ad un’altra funzione, ma oltre a questo mi serviva capire anche che il comando1 fosse terminato con un exit code 0 o nel caso non lo fosse con quale codice di uscita era terminato.
Un semplice :
.... comando1 | tail -n 2 if [ $? -ne 0 ] then echo "comando1 fallito." EXIT_CODE=1 fi .... |
Non funziona in quanto prende sempre il codice di uscita di tail
, che nel mio caso è sempre 0.
Ho quindi googlato un po ed ho trovato più di una soluzione per questo semplice problema. Continue reading »