Take a look at the output of ssh_agent. It's just output, and it doesn't change anything. In order for it to change something you need to execute the result, hence eval. Is that answering what you're asking?
– Chris DaviesDec 03 '20 at 11:40
I don't see anything here that suggests you're an idiot. It was a reasonable question. (I'm now waiting for you to ask the follow-on, which is why ssh-agent can't make the changes itself... :-)
– Chris DaviesDec 03 '20 at 12:31
1
What the linked question doesn't explicitly explain is the point is to set environment for future processes spawned from an already running shell. ssh-agent process can only change its own environment or set environment for its child. There is no other way for it to change the environment of the current shell than to print commands and let the shell evaluate them.
– Kamil MaciorowskiDec 03 '20 at 12:31
@roaima I confused two evaluations, one with quotes, another with eval command, it was real thinking mistake
– DimsDec 03 '20 at 12:49
ssh_agent
. It's just output, and it doesn't change anything. In order for it to change something you need to execute the result, henceeval
. Is that answering what you're asking? – Chris Davies Dec 03 '20 at 11:40ssh-agent
can't make the changes itself... :-) – Chris Davies Dec 03 '20 at 12:31ssh-agent
process can only change its own environment or set environment for its child. There is no other way for it to change the environment of the current shell than to print commands and let the shell evaluate them. – Kamil Maciorowski Dec 03 '20 at 12:31eval
command, it was real thinking mistake – Dims Dec 03 '20 at 12:49