GNU/Linux >> Linux Esercitazione >  >> Linux

Cosa fa Eco $? Fare??

Questa domanda ha già risposte qui :Come faccio a cercare i codici di uscita per le applicazioni?

(2 risposte)
Chiuso 2 anni fa.

Nel mio terminale ha stampato un numero apparentemente casuale 127 . Penso che stia stampando il valore di una variabile e per controllare i miei sospetti, ho definito una nuova variabile v=4 . Esecuzione di echo $? di nuovo mi ha dato come output.

Sono confuso perché mi aspettavo 4 come risposta.

Risposta accettata:

Da man bash :

$? Si espande allo stato di uscita della pipeline in primo piano eseguita più di recente.

echo $? restituirà lo stato di uscita dell'ultimo comando. Hai 127 questo è lo stato di uscita dell'ultimo comando eseguito terminato con qualche errore (molto probabilmente). I comandi al completamento con successo escono con uno stato di uscita di (molto probabilmente). L'ultimo comando ha fornito l'output poiché echo $v sulla riga precedente terminata senza errori.

Se esegui i comandi

v=4
echo $v
echo $?

Otterrai un output come:

4 (from echo $v)
0 (from echo $?)

Prova anche:

true
echo $?

Otterrai .

false
echo $?

Riceverai 1 .

Il true il comando non fa nulla, esce solo con un codice di stato ; e il false anche il comando non fa nulla, esce semplicemente con un codice di stato che indica un errore (cioè con codice di stato 1 ).


Linux
  1. Cosa significa "-" (doppio trattino)?

  2. Cosa fa ?

  3. Cosa fa Exec 3?

  4. Cosa fa effettivamente Libgl_always_indirect=1?

  5. Cosa fa . ~/.bashrc Comando Fare??

Cosa restituisce malloc(0)?

Cosa significa 'cd-'?

Cosa fa 'bash -c'?

Cosa fa % nelle stringhe della shell di Linux?

Cosa fa kill -- -0?

Cosa significa echo $? fare?