识别 ssh 会话何时关闭

识别 ssh 会话何时关闭

我尝试在使用 ssh 连接到远程计算机时更改我的终端配置文件。这在一定数量的本地配置文件和 下运行良好xdotool key Alt+t p Down Return

现在的问题是,如何在终端中识别 ssh 会话是否已关闭。例如,当您按 Cd 时,它会显示注销和连接已关闭。但是有没有办法查看我是否回到了旧会话中。例如,关闭 ssh 会话时是否会重新加载某些文件?据我所知,.bashrc 没有再次执行,但可能是其他原因。

user@remote-pc:~$ logout
Connection to remote-pc closed.
DO_SOMETHING_HERE
user@local-pc:~$

由于必须在本地计算机上更改配置文件,因此必须在本地运行该命令。因此它不能使用 .bash_logout 运行,因为这将在远程计算机上运行。

答案1

使用围绕正常 ssh 的功能解决了该问题。现在根据服务器更改颜色,并在返回本地主机时将其更改回来。

alias blue='xdotool key --delay 50 Alt+t p Return'
alias dark='xdotool key --delay 50 Alt+t p Down Return'
alias green='xdotool key --delay 50 Alt+t p Down Down Return'
alias red='xdotool key --delay 50 Alt+t p Down Down Down Return'


cssh(){
  if [[ $1 == *"remote1"* ]]
  then
    green
  elif [[ $1 == *"remote2"* ]]
  then
    red
  else
    blue
  fi
  ssh $@
  sleep 0.5
  dark
}

相关内容