为什么我不能在 bash 脚本中使用 `source` ssh-agent 和 ssh-add ?

cal*_*vin 1 ssh bash ssh-agent

当我尝试时git push,出现以下错误。

ERROR: Repository not found.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
Run Code Online (Sandbox Code Playgroud)

我知道我应该在这里指定我自己的密钥,所以我在 bash 窗口中输入以下内容,它工作正常。

ssh-agent bash
ssh-add ~/.ssh/id_rsa_lrz
git push
Run Code Online (Sandbox Code Playgroud)

但是,我想让事情变得简单,所以我有一个像这样的 set_env.sh

ssh-agent bash
ssh-add ~/.ssh/id_rsa_lrz
Run Code Online (Sandbox Code Playgroud)

我像这样在 bash 窗口中输入

. set_env.sh
git push
Run Code Online (Sandbox Code Playgroud)

但是,我ERROR: Repository not found.再次收到错误,但为什么呢?

Phi*_*ppe 5

这是因为当你运行时:

. set_env.sh
Run Code Online (Sandbox Code Playgroud)

您将进入尚未运行的 bash 会话ssh-agent bash设置ssh-add ~/.ssh/id_rsa_lrz

你需要的是放入 set_env.sh

eval "$(/usr/bin/ssh-agent)"
ssh-add ~/.ssh/id_rsa_lrz
Run Code Online (Sandbox Code Playgroud)