Wie kann ich Zsh sage der aktuell Shell Geschichte meiner History-Datei zu schreiben?

StackOverflow https://stackoverflow.com/questions/842338

  •  20-08-2019
  •  | 
  •  

Frage

ich an einem Ort arbeiten, die deutlich gazillions von Werkzeugen, die Tonnen von Optionen erfordern, so verlasse ich mich auf meine Shell Geschichte hat. Ich kann es auch ab und zu nur sicherstellen, dass ich nicht verlieren nützlich, lange Befehle sichern.

Ich tippte nur einen dieser Befehle und ich möchte sicherstellen, dass es in die Protokolldatei gerötet ist, aber ich habe eine lang andauernde Arbeit im Hintergrund und ich kann exec zsh nicht geben. Gibt es etwas, das ich in dieser Situation tun?

(Sicher, ich könnte es in eine Datei kopieren und einfügen, aber es ist logischer für einen flush-history Befehl existieren.)

War es hilfreich?

Lösung

Um die Shell-Geschichte in die Protokolldatei zu schreiben, tun

fc -W

fc hat einige nützliche Fahnen, sie alle sehen in man zshbuiltins.

Sie können auch vollständig lesen automatisieren und die Protokolldatei nach jedem Befehl zu schreiben (also Ihre History-Datei automatisch mit jedem laufenden zsh-Sharing) von setopt -o sharehistory sagen. Lesen Sie mehr Geschichte bezogene Optionen in man zshoptions.

Andere Tipps

ich auch gerade gefunden:

setopt INC_APPEND_HISTORY

Von man zshoptions:

INC_APPEND_HISTORY
   This  options  works like APPEND_HISTORY except that new history
   lines are added to the $HISTFILE incrementally (as soon as  they
   are  entered),  rather  than waiting until the shell exits.  The
   file will still be periodically re-written to trim it  when  the
   number  of  lines grows 20% beyond the value specified by $SAVE-
   HIST (see also the HIST_SAVE_BY_COPY option).

Und verwenden

fc -R

in der Geschichte lesen (nachdem er das Schreiben) in einer bestehenden zsh Shell.

unterhalb der Linie Appen nach ~ / .zshrc, wird es 1000 Eintrag speichern wir durch Änderung Wert von HISTSIZE und SAVEHIST erhöhen

HISTSIZE=1000
if (( ! EUID )); then
  HISTFILE=~/.zsh_history_root
else
  HISTFILE=~/.zsh_history
fi
SAVEHIST=1000
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top