Untuk menjalankan ssh-agentsaya harus menggunakan
eval $(ssh-agent)
Kenapa saya harus evaloutput ssh-agent?
Mengapa tidak dirancang agar saya bisa menjalankannya?
Catatan: Backticks (`) dihapus karena sudah tidak digunakan lagi. Anda dapat membaca lebih lanjut tentang hal ini di sini .
manhalaman, untuk permulaan ...
ssh-agentyang "dirancang dengan cara ini", itu unix / linux, karena ssh-agentberjalan dalam proses anak dari shell. Proses anak tidak dapat mengubah proses induk. Tetapi fungsi dapat: karena berjalan dalam proses saat ini. Jadi Anda bisa menulis fungsi: do_set_ssh_agent() { eval ssh-agent ; }dan yang bisa dijalankan hanya sebagai: $ do_set_ssh_agent. Tetapi "program" tidak (biasanya) diinstal sebagai "fungsi" di linux / unix; sebaliknya, program diinstal sebagai file, yang, sebagaimana disebutkan, dijalankan dalam proses anak. (Sumber skrip adalah pengecualian, tetapi ssh-agent adalah biner.)