我想自动化将本地~/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