GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Befehl ausführen, ohne ihn im Verlauf zu behalten

Beginnen Sie Ihren Befehl mit einem Leerzeichen und er wird nicht in den Verlauf aufgenommen.

Beachten Sie, dass hierfür die Umgebungsvariable $HISTCONTROL erforderlich ist einzustellen.

  • Prüfen Sie, ob der folgende Befehl ignorespace zurückgibt oderignoreboth

    #> echo $HISTCONTROL
    
  • Um die Umgebungsvariable hinzuzufügen, falls sie fehlt, kann die folgende Zeile zum Bash-Profil hinzugefügt werden. Z.B. %HOME/.bashrc

    export HISTCONTROL=ignorespace
    

Nach dem erneuten Sourcing des Profils werden Befehle mit vorangestelltem Leerzeichen nicht in $HISTFILE geschrieben


Setzen Sie in einer beliebigen Bash-Sitzung die Verlaufsdatei auf /dev/null, indem Sie Folgendes eingeben:

export HISTFILE=/dev/null

Beachten Sie, dass dies, wie in den Kommentaren erwähnt, keine Befehle in dieser Sitzung in den Verlauf schreibt!

Leg dich bitte nicht mit der harten Arbeit deines Systemadministrators an;)

Die Lösung von Doodad ist eleganter. Deaktivieren Sie einfach die Variable:unset HISTFILE (Danke!)


echo "discreet";history -d $(history 1)

Linux
  1. Verlaufsbefehl in Linux ausführlich erklärt

  2. Befehl im aktiven Remote-Terminal ausführen?

  3. Nohup-Befehl mit Eingabe ausführen?

  4. Einen Befehl ausführen, wo eine Datei gefunden wird?

  5. `$?` ? Ist es eine Variable?

Verlaufsbefehl in Linux (Bash-Verlauf)

Verlaufsbefehl in Linux mit Beispielen

So zeigen Sie den Bash-Verlauf ohne Zeilennummern an

Verlaufsbefehl mit Beispielen

Wie führe ich einen Befehl in einem Shell-Skript aus?

Wie rufe ich einen bestimmten Befehl aus dem Befehlsverlauf ab, ohne ihn auszuführen?