Como você "origina" um arquivo no peixe?

12

Gostaria de usar o chaveiro com a casca do peixe , mas não sei como fazer com que o peixe carregue o arquivo ~ / .keychain / hostname-fish para definir as variáveis ​​de ambiente apropriadas.

No bash, existe o comando "source", mas ele não existe no peixe.

Lorin Hochstein
fonte

Respostas:

13

Abaixo está o que eu tenho ~/.config/fish/config.fishpara o seu exemplo específico.

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

O comando source é source, que também funciona no bash .


Antes do fish 2.1.0, o sourcecomando era chamado ..

jamessan
fonte
@JohnMetta, veja o link na pergunta e funtoo.org/wiki/Keychain . Você precisará instalar o programa.
28813 jamessan
Desculpe, foi estúpido da minha parte postar isso. Na verdade, eu não queria chaves - estava procurando substituir o comando 'source' e não li. Usar .é o que eu precisava.
precisa saber é o seguinte
Obrigado por incluir a [ -e $HOME/.keychain/$HOSTNAME-fish ]; and . $HOME/.keychain/$HOSTNAME-fishlinha. Isso fez com que meu chaveiro funcionasse e o git parasse de me pedir a senha sempre que eu quisesse pressionar.
CJM
3

Use o sourcecomando:

source filename.txt
Elijah Lynn
fonte
2

A maneira recomendada na página de documentação do Keychain é colocar isso em config.fish:

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

Em seguida, adicione isso na parte superior do seu script:

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

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

Elijah Lynn
fonte