Jak „pobierać” plik z ryby?

12

Chciałbym użyć pęku kluczy z powłoką rybną , ale nie jestem pewien, jak sprawić, by ryba załadowała plik ~ / .keychain / hostname-fish, aby ustawić odpowiednie zmienne środowiskowe.

W bash istnieje polecenie „source”, ale nie istnieje ono u ryb.

Lorin Hochstein
źródło

Odpowiedzi:

13

Poniżej znajduje się to, co mam ~/.config/fish/config.fishdla twojego konkretnego przykładu.

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

Polecenie source to source, które działa również w bash .


Przed rybą 2.1.0 wywołano sourcepolecenie ..

jamessan
źródło
@JohnMetta, zobacz link w pytaniu i funtoo.org/wiki/Keychain . Musisz zainstalować program.
jamessan
Przepraszam, że to głupie, że to opublikowałem. Tak naprawdę nie chciałem pęku kluczy - chciałem zastąpić polecenie „source” i tak naprawdę nie czytałem. Używanie .jest tym, czego potrzebowałem.
JohnMetta
Dzięki za włączenie [ -e $HOME/.keychain/$HOSTNAME-fish ]; and . $HOME/.keychain/$HOSTNAME-fishlinii. To sprawiło, że mój brelok zadziałał i przestałem prosić mnie o hasło za każdym razem, gdy chciałem naciskać.
cjm
3

Użyj sourcepolecenia:

source filename.txt
Elijah Lynn
źródło
2

Zalecanym sposobem na stronie dokumentacji pęku kluczy jest umieszczenie tego w config.fish:

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

Następnie dodaj to na początku skryptu:

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

źródło: http://www.funtoo.org/Keychain

Elijah Lynn
źródło
0

Jeśli plik, który próbujesz pobrać, zawiera bash, rozważ użycie basu .

Umożliwi to napisanie na przykład:

bass source ~/.bash_profile
newswim
źródło