Bagaimana Anda "sumber" file dalam ikan?

12

Saya ingin menggunakan gantungan kunci dengan shell ikan , tapi saya tidak yakin bagaimana membuat ikan memuat file ~ / .keychain / hostname-fish untuk mengatur variabel lingkungan yang sesuai.

Dalam bash, ada perintah "sumber", tetapi tidak ada pada ikan.

Lorin Hochstein
sumber

Jawaban:

13

Di bawah ini adalah apa yang saya miliki ~/.config/fish/config.fishuntuk contoh spesifik Anda.

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

The perintah Sumber adalah source, yang juga bekerja di bash .


Sebelum memancing 2.1.0, sourceperintah itu dipanggil ..

jamessan
sumber
@JohnMetta, lihat tautan di pertanyaan dan funtoo.org/wiki/Keychain . Anda harus menginstal program.
jamessan
Maaf, saya bodoh karena memposting itu. Saya sebenarnya tidak ingin gantungan kunci - saya ingin mengganti perintah 'sumber', dan tidak benar-benar membaca. Menggunakan .adalah apa yang saya butuhkan.
JohnMetta
Terima kasih telah memasukkan [ -e $HOME/.keychain/$HOSTNAME-fish ]; and . $HOME/.keychain/$HOSTNAME-fishgaris. Itu membuat gantungan kunci saya berfungsi dan git berhenti meminta saya untuk frasa sandi setiap kali saya ingin mendorong.
cjm
3

Gunakan sourceperintah:

source filename.txt
Elijah Lynn
sumber
2

Cara yang disarankan pada halaman dokumentasi Keychain adalah dengan memasukkan ini di config.fish:

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

Kemudian, tambahkan ini ke bagian atas skrip Anda:

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

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

Elijah Lynn
sumber