GNU/Linux >> Linux Esercitazione >  >> Linux

Perché Bash non memorizza i comandi che iniziano con spazi?

Se eseguo una sequenza di comandi come:

$ ls
$   grep abc file.txt

e poi usa il tasto freccia su per ottenere il precedente, il terminale mostrerà l'ultimo cmd (che è il grep qui)

Ma se faccio qualcosa del genere:

$ ls
$   grep abc file.txt

dove grep è preceduto da spazi, premendo verso l'alto si ottiene ls , non grep .

Perché è questo?

Risposta accettata:

echo $HISTCONTROL
ignoreboth

bash uomo:

CONTROLLO STORICO

Un elenco di valori separato da due punti che controlla il modo in cui i comandi vengono salvati nell'elenco della cronologia. Se l'elenco di valori include ignorespace , le righe che iniziano con uno spazio non vengono salvate nell'elenco della cronologia. Un valore di ignoredups fa sì che le righe corrispondenti alla voce della cronologia precedente non vengano salvate. Un valore di ignoreboth è l'abbreviazione di ignorespace e ignoredups .


Linux
  1. 15 utili comandi integrati di Bash Shell (con esempi)

  2. Il nome del file non viene stampato correttamente con il carattere di sottolineatura _ in Bash

  3. basename con spazi in uno script bash?

  4. Perché bash non si ferma in caso di errore per errori nella sequenza di comandi in cortocircuito?

  5. Sostituisci gli spazi con caratteri di sottolineatura tramite BASH

Comandi accoppiati con operatori di controllo in Bash

Cos'è Git Bash; Lavorare con i comandi Git Bash

Come generare file e ignorare le righe che iniziano con "?"?

Perché Grep -o -w non mi dà l'output previsto su Mac Os X?

Perché non riesco a sfuggire agli spazi su uno script Bash??

Salva la giornata con successo con i comandi della cronologia di Bash