Wie kann erreicht werden, dass jeder eingegebene Befehl in der Historie jedes offenen Terminals sichtbar ist?
Wenn mehrere Terminals geöffnet sind, wird der Verlauf nicht geteilt, dh was Sie in den Verlauf eines Terminals eingegeben haben, wird in einem anderen nicht angezeigt. PROMPT_COMMAND="history -a"
Stellen Sie sich eine Alternative zu Bashs vor (die den Verlauf speichert, bevor die Eingabeaufforderung angezeigt wird).
command-line
history
zsh
MJB
quelle
quelle
Antworten:
Die folgenden Optionen wären anwendbar:
So speichern Sie jeden Befehl, bevor er ausgeführt wird (dies unterscheidet sich vom Bash-Verlauf - eine Lösung):
Das Lesen der Verlaufsdatei bei jedem Aufruf des Verlaufs sowie die Funktionen von
inc_append_history
:Diese können in Ihrer
.zshrc
Datei eingestellt werden.Verwandte für Bash:
quelle
setopt share_history
ist das, was das gewünschte Ergebnis erzielen wird . @MJB Wären Sie bereit, Ihre Antwort zu bearbeiten, um die Erwähnung von zu entfernensetopt inc_append_history
? Es verdeckt die eigentliche Antwort.setopt | grep hist
erhaltenincappendhistory
undsharehistory
.Wenn Sie Robby Russells fantastisches OhMyZSH verwenden, wird dies und mehr erledigt.
Siehe https://github.com/robbyrussell/oh-my-zsh/blob/master/lib/history.zsh
Das schließt ein
setopt inc_append_history
.quelle