在~/.ssh/config
您LocalCommand
通过 SSH 连接到远程机器时,您可以使用该指令来执行本地命令。但是当我退出SSH 连接时如何执行命令?似乎 *.bashrc/.bash_profile* 文件在连接结束或关闭时不是来源。
Chr*_*own 11
如果您希望在本地或远程计算机上执行此操作,则未在问题中指定。也没有指定哪台机器上存在哪个 shell,所以我假设bash
两者都存在。
如果要在远程机器上执行它,请查看~/.bash_logout
,它在登录 shell 正常注销时执行。来自man bash
:
当登录 shell 退出时,bash 从文件中读取并执行命令
~/.bash_logout
(如果存在)。
您可以进行测试~/.bash_logout
以检查退出的 shell 是否是 SSH 会话,类似以下内容应该可以工作:
if [[ $SSH_CLIENT || $SSH_CONNECTION || $SSH_TTY ]]; then
# commands go here
fi
Run Code Online (Sandbox Code Playgroud)
如果要在本地机器上执行它,请围绕ssh
. 像下面这样的东西应该工作:
ssh() {
if command ssh "$@"; then
# commands go here
fi
}
Run Code Online (Sandbox Code Playgroud)
这对于您的需求来说可能太简单了,但您明白了。
归档时间: |
|
查看次数: |
3876 次 |
最近记录: |