如何使用 shell 脚本将文件夹添加到远程主机 PATH?

如何使用 shell 脚本将文件夹添加到远程主机 PATH?

我想自动化将本地~/bin文件夹同步到远程主机的过程,并将该文件夹添加到远程 shell 的路径中。我已经完成同步部分,但不确定如何自动将文件夹添加到远程 shell 的$PATH.

这样我就可以始终在本地计算机上处​​理 shell 脚本,如果我必须连接到一台新计算机并开始处理它,我只需运行一个本地脚本即可将我的 ~/bin 文件夹同步到远程计算机,然后始终轻松地在远程主机上运行脚本。

那么如何确保我的~/bin路径被添加到$PATH远程主机的路径中,以便下次登录时设置$PATH正确呢?

我希望这可以从我的 shell 脚本自动完成。

编辑:我不想同步 a .bashrc,但如果需要,可以通过使用 shell 脚本在末尾添加一些内容来附加到现有文件。

答案1

一种可行的方法是仅附加到 bashrc 的末尾而不是同步它。

echo "PATH=\$PATH:~/bin" >> ~/.bashrc

这会将 ~/bin 添加到 PATH 变量中。

为了在远程主机上获取它,您只需先调用 ssh 即可。如果您有很多主机,则可以使用 for 循环。

for host in host1 host2 host3;do
    ssh user@$host echo "PATH=\$PATH:~/bin" >> ~/.bashrc
done

相关内容