Wie "quellen" Sie eine Datei in Fisch?

7230
Lorin Hochstein

Ich möchte den Schlüsselbund mit der Fischmuschel verwenden, aber ich bin nicht sicher, wie man die ~ / .keychain / hostname-fish-Datei lädt, um die entsprechenden Umgebungsvariablen festzulegen.

In Bash gibt es den "source" -Befehl, aber er existiert nicht in Fisch.

8

3 Antworten auf die Frage

10
jamessan

Im Folgenden habe ich ~/.config/fish/config.fishfür Ihr spezifisches Beispiel.

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

Der Source-Befehl lautet ., was auch in Bash funktioniert .


Ab Fish 2.2.0 ist der .Befehl veraltet und sourcesollte stattdessen verwendet werden.

@JohnMetta, siehe den Link in der Frage und http://www.funtoo.org/wiki/Keychain. Sie müssen das Programm installieren. jamessan vor 11 Jahren 0
Sorry, es war dumm von mir, das zu posten. Ich wollte eigentlich keinen Schlüsselbund. Ich wollte den 'source'-Befehl ersetzen und habe nicht wirklich gelesen. Ich brauchte ".". JohnMetta vor 11 Jahren 0
Fyi, `.` ist veraltet und wird in einer zukünftigen Version entfernt, wobei 'source' empfohlen wird. Elijah Lynn vor 9 Jahren 1
Der Fischbefehlslink sollte auf [this] (http://fishshell.com/docs/current/commands.html#source) aktualisiert werden. Franklin Yu vor 8 Jahren 1
Von der Quelle der Fische, die Sie gepostet haben (Hervorhebung meines): “. (eine einzelne Periode) ist ein Alias ​​für den Quellbefehl. **Die Verwendung von . wird zugunsten der Quelle abgelehnt, und. wird in einer zukünftigen Version von Fisch ** entfernt. " user137369 vor 8 Jahren 0
Vielen Dank für die Aufnahme des `[-e $ HOME / .keychain / $ HOSTNAME-fish]; und . $ HOME / .keychain / $ HOSTNAME-fish `line. Das brachte meinen Schlüsselbund dazu, dass ich immer wieder nach der Passphrase fragte, wann immer ich wollte. cjm vor 8 Jahren 0
1
Elijah Lynn

Auf der Keychain-Dokumentationsseite wird empfohlen, dies in config.fish einzufügen:

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

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

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

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

0
Elijah Lynn

Verwenden Sie den Quellbefehl:

source filename.txt