So legen Sie die Anzahl der vom Verlauf abgerufenen Befehle fest

So legen Sie die Anzahl der vom Verlauf abgerufenen Befehle fest

Ich verwende Bash. Um meinen Befehlsverlauf zu durchsuchen, rufe ich den historyBefehl auf, der meiner Meinung nach das gleichnamige Gnu-Programm aufruft. (Ich weiß nicht, ob es einen besseren Bash-spezifischen Weg gibt).

In meiner .bashrc habe ich derzeit eine Zeile, export PROMPT_COMMAND='history -a'um den Verlauf meiner mehreren ausgeführten Bash-Sitzungen beizubehalten.

Wenn ich den Verlauf durchführe, werden mir derzeit nur 524 Einträge angezeigt. Ist das konfigurierbar? Ich würde das gerne auf eine viel größere Zahl erhöhen, beispielsweise 2000.

Antwort1

Erstens,history Istdie bash-spezifische Methode, keine bessere. Der historyBefehl ist ein Bash-Builtin, wie Sie sehen können, wenn Sie ausführen

$ type history 
history is a shell builtin

Die Anzahl der gespeicherten Befehle wird nun durch die HISTSIZEVariable gesteuert. Um sie auf eine größere Zahl einzustellen, fügen Sie diese Zeile zu Ihrer hinzu .profile(warum dies ein besserer Ort dafür ist als .bashrc, sieheHier):

export HISTSIZE=2000

Von nun an historywerden die letzten 2000 von Ihnen ausgeführten Befehle zurückgegeben.

Antwort2

Die HISTSIZEVariable gibt vor, wie viele Befehle im Ausführungsverlauf gespeichert werden und HISTFILESIZElegt fest, wie viele Befehle aus dem Ausführungsverlauf gespeichert werden, sobald die Shell beendet wird.

Antwort3

Ja, man bashsagt:

HISTSIZE - Die Anzahl der Befehle, die im Befehlsverlauf gespeichert werden sollen

Aber es gibt eine ReadlineVariable:history-size

Legen Sie die maximale Anzahl der in der Verlaufsliste gespeicherten Verlaufseinträge fest. Wenn der Wert auf Null gesetzt ist, werden alle vorhandenen Verlaufseinträge gelöscht und es werden keine neuen Einträge gespeichert. Wenn der Wert kleiner als Null ist, ist die Anzahl der Verlaufseinträge nicht begrenzt. Standardmäßig ist die Anzahl der Verlaufseinträge nicht begrenzt.

Sie können history-sizemit HISTSIZE=1000oder bind 'set history-size 1000'mit der folgenden Zeile in Ihrem festlegen ~/.inputrc:set history-size 1000

Beispiele:

HISTSIZE=1000
bind 'set history-size 0'
echo $HISTSIZE # prints 1000
bind -v | grep history-size # prints set history-size 0
history # prints nothing

bind 'set history-size 0'
HISTSIZE=1000
echo $HISTSIZE # prints 1000
bind -v | grep history-size # prints set history-size 1000
history # prints    13  echo $HISTSIZE\n14  bind -v | grep history-size\n15  history

history-sizeerhältlich seit bash-4.0-alpha:ÄNDERUNGEN

Antwort4

For more information, I am adding it. I used ubuntu 18. This worked for me.
$ echo $HISTSIZE
1000
$ echo $HISTFILESIZE
1000
$ echo $HISTFILE

vi /home/siva/.bashrc  # here we need to update the HISTSIZE variable to the required thing.
NOTE: open new terminal and check updated value will bere printed if you run $ echo $HISTSIZE

Reference Link:
https://www.redhat.com/sysadmin/history-command

verwandte Informationen