经常 ssh 登录好几台服务器,如果 macOS 终端 tab 标题中能显示 ssh 主机名,那就很容易区分了,请问是否有方法实现?
在 Terminal Tab Names (SSH host) 中找到一个方法,但需要自己写个脚本,每次要通过这个脚本进行 ssh 登录,比较麻烦。
终于搞定了!使用的是下面的脚本 myssh.sh
export TERM=vt100
HOST=$1
printf "\e]0; $HOST\a"
ssh $@
export TERM=xterm-256color
脚本说明:
printf "\e]0; $HOST\a"
不够,它的确是设置当前 tab 标题的命令,但当 ssh 登录上后,tab 标题会被改成 ssh 服务器当前所在路径,需要通过 export TERM=vt100
解决(方法来自stackexchange)。export TERM=xterm-256color
是为了恢复终端设置。然后在 .bash_profile 中添加 alias 即可。
alias ssh=~/myssh.sh
后来发现 export TERM=vt100
会影响到 ssh 所登录服务器的 shell 环境,不可行,需要另想办法。
找到了问题的真正原因,是 macOS 终端使用 zsh 引起的,换回默认的 bash 就没这个问题了。
直接给ssh alias到那个脚本,就跟正常一样了