如何检查ssh-agent是否已在bash中运行?
我sh
在Linux环境中有一个示例脚本,该脚本基本上ssh-agent
针对当前shell运行,向其添加密钥并运行两个git命令:
#!/bin/basheval "$(ssh-agent -s)"
ssh-add /home/duvdevan/.ssh/id_rsa
git -C /var/www/duvdevan/ reset --hard origin/master
git -C /var/www/duvdevan/ pull origin master
脚本实际上可以正常工作,但是每次运行脚本时,我都会得到一个新进程,因此我认为这可能会成为性能问题,并且最终可能会导致无用的进程。
输出示例:
Agent pid 12109Identity added: /home/duvdevan/.ssh/custom_rsa (rsa w/o comment)
此外,还有所有这些,是否有可能找到一个现有ssh-agent
进程并将我的密钥添加到其中?
回答:
不,真的,如何检查ssh-agent是否已在bash中运行?
到目前为止,答案似乎并未回答原始问题…
这对我有用:
if ps -p $SSH_AGENT_PID > /dev/nullthen
echo "ssh-agent is already running"
# Do something knowing the pid exists, i.e. the process with $PID is running
else
eval `ssh-agent -s`
fi
以上是 如何检查ssh-agent是否已在bash中运行? 的全部内容, 来源链接: utcz.com/qa/422040.html