La domanda è piuttosto semplice. Posso ottenere il codice di uscita del comando precedente usando $?
. Ma di cosa si tratta esattamente?
Non credo sia una variabile, perché non puoi avere caratteri speciali nel nome della variabile diversi da _
.
foo?foo=10
risulterà nell'errore:foo?foo=10: command not found
Quindi, se non è una variabile, che cos'è? Ce ne sono altri così?
Risposta accettata:
Che cos'è?
$?
è una variabile incorporata che memorizza lo stato di uscita di un comando, una funzione o lo script stesso.
$?
legge lo stato di uscita dell'ultimo comando eseguito. Dopo che una funzione ritorna, $?
fornisce lo stato di uscita dell'ultimo comando eseguito nella funzione. Questo è il modo in cui Bash dà alle funzioni un "valore di ritorno". Restituisce in caso di successo o un numero intero compreso nell'intervallo
1 - 255
in caso di errore.
Ci sono anche altri simili?
Sì, ci sono molte di queste variabili integrate in bash. Puoi vedere un elenco qui.
Fare riferimento a:http://www.tldp.org/LDP/abs/html/exit-status.html