我尝试在使用 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
}