Aby uruchomić, ssh-agentmuszę użyć
eval $(ssh-agent)
Dlaczego mam do evalwyjścia ssh-agent?
Dlaczego nie jest tak zaprojektowany, że mogę go po prostu uruchomić?
Uwaga: Backticks (`) są usuwane, ponieważ są przestarzałe. Możesz na przykład przeczytać więcej na ten temat tutaj .
manstrona, na początek ...
ssh-agentże jest „zaprojektowany w ten sposób”, jest to unix / linux, ponieważ ssh-agentdziała w potomnym procesie powłoki. Procesy potomne nie mogą modyfikować procesów macierzystych. Ale funkcja może: ponieważ działa w bieżącym procesie. Więc można napisać funkcję: do_set_ssh_agent() { eval ssh-agent ; }i które mogą być uruchamiane po prostu jako: $ do_set_ssh_agent. Ale „programy” nie są (zazwyczaj) instalowane jako „funkcje” w systemie Linux / UNIX; zamiast tego programy są instalowane jako pliki, które, jak wspomniano, działają w procesie potomnym. (Skrypty zaopatrzenia są wyjątkiem, ale ssh-agent jest binarny.)