Fish-shell: [GELÖST] Fisch entspricht precmd/PROMPT_COMMAND ?

Erstellt am 16. Apr. 2016  ·  3Kommentare  ·  Quelle: fish-shell/fish-shell

Gibt es ein Fischäquivalent für precmd (zsh) / PROMPT_COMMAND (bash)?

Ich suche nach einer Möglichkeit, eine umfassendere Historie mit Pfad, Datum und Befehl in einer separaten Protokolldatei zu speichern

question

Hilfreichster Kommentar

Es gibt verschiedene Möglichkeiten, dies zu tun. Fishs Prompt ist ein bisschen Code in einer Funktion namens fish_prompt . Sie können es über funced fish_prompt ändern und diese Änderungen dann mit funcsave fish_prompt auf der Disc speichern (dies wird in ~/.config/fish/functions/fish_prompt.fish gespeichert, das Sie auch direkt ändern können wenn Sie es wünschen).

Andernfalls gibt es das Ereignis fish_prompt , das kurz vor einer Eingabeaufforderung ausgelöst wird. Du kannst einen Hörer dafür schreiben wie

function dostuff --on-event fish_prompt
    # do your stuff
end

Beachten Sie, dass dies nicht im Funktionsverzeichnis gespeichert werden kann, da diese automatisch geladen werden. Speichern Sie es in config.fish, einer Datei, die von ihm bezogen wird, oder (in der nächsten fish-Version) ~/.config/fish/conf.d (in einer Datei mit der Endung ".fish").

Es gibt auch die Ereignisse fish_preexec und fish_postexec , die direkt vor bzw. nach einem Job ausgelöst werden.

Alle 3 Kommentare

Es gibt verschiedene Möglichkeiten, dies zu tun. Fishs Prompt ist ein bisschen Code in einer Funktion namens fish_prompt . Sie können es über funced fish_prompt ändern und diese Änderungen dann mit funcsave fish_prompt auf der Disc speichern (dies wird in ~/.config/fish/functions/fish_prompt.fish gespeichert, das Sie auch direkt ändern können wenn Sie es wünschen).

Andernfalls gibt es das Ereignis fish_prompt , das kurz vor einer Eingabeaufforderung ausgelöst wird. Du kannst einen Hörer dafür schreiben wie

function dostuff --on-event fish_prompt
    # do your stuff
end

Beachten Sie, dass dies nicht im Funktionsverzeichnis gespeichert werden kann, da diese automatisch geladen werden. Speichern Sie es in config.fish, einer Datei, die von ihm bezogen wird, oder (in der nächsten fish-Version) ~/.config/fish/conf.d (in einer Datei mit der Endung ".fish").

Es gibt auch die Ereignisse fish_preexec und fish_postexec , die direkt vor bzw. nach einem Job ausgelöst werden.

@gawells , hat das deine Frage beantwortet?

Ja, hat es getan danke

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen