The eval command is used to execute the arguments as a shell command on unix or linux system.
Eval command comes in handy when you have a unix or linux command stored in a variable and you want to execute that command stored in the string. The eval command first evaluates the argument and then runs the command stored in the argument.
An agent is a program that keeps your keys in memory so that you only need to unlock them once, instead of every time. ssh-agent does this for SSH keys. eval `ssh-agent` – this runs the agent in background, and sets the apropriate environment variables for the current shell instance.