GNU/Linux >> Linux Esercitazione >  >> Ubuntu

`$?` ? È una variabile?

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


Ubuntu
  1. Come eseguire un comando memorizzato in una variabile?

  2. Come assegnare l'output di un comando a una variabile di shell?

  3. Memorizzazione dell'output del comando nella variabile Shell?

  4. Come uscire se un comando fallisce?

  5. Esegui il comando senza tenerlo nella cronologia

Al comando in Linux

Comando di uscita Bash e codici di uscita

Comando Df in Linux

Come memorizzare un comando Linux come variabile nello script della shell

Shell dei comandi

Spiegazione del comando di esportazione in Linux