为什么我不能在 bash 脚本中使用 `source` ssh-agent 和 ssh-add?
Why can't I `source` ssh-agent and ssh-add with in bash script?
当我尝试 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.
我知道我应该在这里指定我自己的密钥,所以我在 bash window 中输入以下内容,它工作正常。
ssh-agent bash
ssh-add ~/.ssh/id_rsa_lrz
git push
但是,我想让事情变得简单,所以我有一个 set_env.sh 这样的
ssh-agent bash
ssh-add ~/.ssh/id_rsa_lrz
然后我这样输入 bash window
. set_env.sh
git push
但是,我再次收到 ERROR: Repository not found.
错误,但为什么?
这是因为当你 运行 :
. set_env.sh
您将进入由 ssh-agent bash
设置的 bash 会话,其中 ssh-add ~/.ssh/id_rsa_lrz
尚未 运行。
你需要的是输入set_env.sh
eval "$(/usr/bin/ssh-agent)"
ssh-add ~/.ssh/id_rsa_lrz
当我尝试 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.
我知道我应该在这里指定我自己的密钥,所以我在 bash window 中输入以下内容,它工作正常。
ssh-agent bash
ssh-add ~/.ssh/id_rsa_lrz
git push
但是,我想让事情变得简单,所以我有一个 set_env.sh 这样的
ssh-agent bash
ssh-add ~/.ssh/id_rsa_lrz
然后我这样输入 bash window
. set_env.sh
git push
但是,我再次收到 ERROR: Repository not found.
错误,但为什么?
这是因为当你 运行 :
. set_env.sh
您将进入由 ssh-agent bash
设置的 bash 会话,其中 ssh-add ~/.ssh/id_rsa_lrz
尚未 运行。
你需要的是输入set_env.sh
eval "$(/usr/bin/ssh-agent)"
ssh-add ~/.ssh/id_rsa_lrz