![如何在 SSH 连接时自动运行命令?](https://linux22.com/image/815936/%E5%A6%82%E4%BD%95%E5%9C%A8%20SSH%20%E8%BF%9E%E6%8E%A5%E6%97%B6%E8%87%AA%E5%8A%A8%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%EF%BC%9F.png)
我有一些运行的 Amazon EC2 实例Ubuntu 10.04.1 LTS。
每次我连接到这些实例时,我都会运行几个简单的命令,例如 a cd <repository>
、agit status
等等。
我如何将它们添加到脚本中/应该将它们添加到哪个脚本中,以便它们每次在 SSH 连接时自动运行?
答案1
解决办法基本上是登录时运行脚本。
由于 Bash按顺序查找~/.bash_profile
、~/.bash_login
和,并从中读取和执行命令~/.profile
第一个存在的并且可读。
我做了一个简单的ls -la ~
,看到从那个层次结构.profile
是第一的只有一个可用,所以我只是在这里附加了我的命令。
问题解决了!
答案2
您可以在单个脚本中添加所有命令,并可以通过 SSH 线路调用该脚本。
例如,我将把所有命令转储到 /home/vidyadhar/commands.sh 中。在使用 ssh 时,我将按如下方式执行操作 ssh vidyadhar@machine `/home/vidyadhar/commands.sh'