Wie "beschafft" man eine Datei in Fisch?


12

Ich würde gerne einen Schlüsselbund für die Fischschale verwenden , bin mir aber nicht sicher, wie ich Fische dazu bringen soll, die Datei ~ / .keychain / hostname-fish zu laden, um die entsprechenden Umgebungsvariablen festzulegen.

In bash gibt es den Befehl "source", der jedoch in fish nicht vorhanden ist.

Antworten:


13

Unten ist, was ich ~/.config/fish/config.fishfür Ihr spezifisches Beispiel habe.

set -gx HOSTNAME (hostname)
if status --is-interactive;
    keychain --nogui --clear ~/.ssh/id_rsa
    [ -e $HOME/.keychain/$HOSTNAME-fish ]; and source $HOME/.keychain/$HOSTNAME-fish
end

Der Quellbefehl ist source, der auch in bash funktioniert .


Vor Fisch 2.1.0 wurde der sourceBefehl aufgerufen ..


@ JohnMetta, siehe den Link in der Frage und funtoo.org/wiki/Keychain . Sie müssen das Programm installieren.
Jamessan

Entschuldigung, es war dumm von mir, das zu posten. Ich wollte eigentlich keinen Schlüsselbund - ich wollte den Befehl 'source' ersetzen und las nicht wirklich. Verwenden .ist das, was ich brauchte.
JohnMetta

Vielen Dank für die Aufnahme der [ -e $HOME/.keychain/$HOSTNAME-fish ]; and . $HOME/.keychain/$HOSTNAME-fishLinie. Das brachte meinen Schlüsselbund zum Laufen und dazu, mich nicht mehr jedes Mal nach der Passphrase zu fragen, wenn ich pushen wollte.
cjm


2

Auf der Keychain-Dokumentationsseite wird empfohlen, dies in config.fish zu speichern:

if status --is-interactive
    keychain --eval --quiet --quick path/to/id_rsa
end

Fügen Sie dies dann oben in Ihr Skript ein:

source $HOME/.keychain/(hostname)-fish

Quelle: http://www.funtoo.org/Keychain

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.