2011-11-14 12 views

risposta

52

Non si utilizza [[ (o [) durante l'esecuzione di un comando e il controllo del codice risultato.

if f1 && f2 ; then 
    echo "success" 
else 
    echo "fail" 
fi 
+0

Fantastico - grazie mille! –

3

Sì. È possibile farlo controllando contro un ritorno per mezzo di eco (anche se non un ritorno rigoroso):

if [[ "$(f1)" == "whatever" ]] funziona

Vai a questa pagina per maggiori informazioni su valori di ritorno delle funzioni. Ha anche un paio di commenti positivi che parlano specificatamente di dichiarazioni.

http://www.linuxjournal.com/content/return-values-bash-functions

+2

Non è possibile usare '$ (...)' per ottenere valori di ritorno. –

+0

Giusto. Solo eco. Fissaggio. – evan

Problemi correlati