linux - ssh登录后执行命令

标签 linux ssh .profile

我正在通过 ssh 使用许多远程机器。 我需要有一个通用的 .profile(或 ssh 或其他任何东西的别名)用于所有 ssh session ,因为在每台机器上更改它(我永远不应该重新登录)这真的是浪费时间.

有可能吗?

我读过我可以设置“PermitUserEnvironment”以便我可以设置我自己的“VAR=VALUE”,但是自定义脚本呢?例如,我想执行类似“set -o vi”的操作...

最佳答案

这里的正确答案是在每台机器上都有一份你的 .profile 或 .bashrc 或任何东西。

只需编写一个小的 shell 脚本并将这样的文件 scp 到每个有问题的盒子。一个三线像

for i in list_of_machines
do
   scp .profile $i:
done

会为你做的。

您可以使用 shell $() 表示法从文件中获取机器列表,例如 $(猫文件名) 或在真正使用时以编程方式生成它。

更好的是,如果这些是虚拟主机或自动生成的某种其他类型的机器云,请在创建机器时将 .profile 放入帐户中。

关于linux - ssh登录后执行命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9467338/

相关文章:

linux - Expect 的 spawn 将 ssh 的 -i 解释为它自己的

linux - Apache 不会监听除端口 80 以外的其他端口

ssh - 通过SSH与文件io操作进行Lua脚本

linux - 使用 Bash 脚本输出邮件

Python 和 IPython 路径不同

java - 无法在 linux 服务器上运行的 tomcat webapp 中保存文件

git push with ssh remote 失败,除非冗长

python - 如何使用 python 在 Mac OS X 中获取环境变量?

ruby-on-rails - Cronjob 每小时运行一次,但不是在特定时间运行