如何通过SH脚本运行ssh | 您所在的位置:网站首页 › 如何运行sh脚本 › 如何通过SH脚本运行ssh |
我在VPS上连接时手动运行以下两个命令: eval ssh-agent $SHELL ssh-add /home/duvdevan/.ssh/id_rsa我尝试将它们添加到a ssh.sh并使用以下命令在该目录中运行: ./ssh.sh但没有任何事情发生. 我不是那么bash- 所以任何帮助都是值得赞赏的. 1> Stop ongoing..: 而不是运行的,你需要源脚本: . ./ssh.sh否则,该eval命令设置的环境变量在当前shell中将不可见,因此无法知道在哪里找到正在运行的ssh代理. 为了给出更多背景知识,以下是它的工作原理:
该ssh-agent命令启动一个ssh代理程序,并打印到stdout您需要设置以连接到代理程序的环境变量.输出格式化为要执行的命令.对于测试,您可以运行此命令并查看其打印内容 该eval命令执行打印的命令ssh-agent.如前所述,这些是设置环境变量的命令.执行这些后,您将在此shell中运行的ssh命令将知道在何处查找代理 ssh-add由于先前设置的环境变量,该命令能够找到代理 设置这些变量,直到脚本退出.运行时./ssh.sh,变量在该脚本的进程内设置,并在脚本完成后可用 通过ssh.sh使用脚本获取脚本.,里面的命令将在当前shell中执行,因此环境变量仍然设置,因此你的ssh相关命令可以找到代理 不,这与此无关 |
CopyRight 2018-2019 实验室设备网 版权所有 |