Mantenha o nome da guia Terminal.app seguindo o host de trabalho

Eu vi uma ótima dica profissional de Joshbuhler

Ele compartilhou uma maneira de alterar o nome da guia Terminal.app com uma função bash fácil.

Depois disso, mudei um pouco meu .bashrc para manter o nome atualizado do host no qual estou trabalhando diretamente no nome da guia.

Aqui está a mágica:

function tabname () {
# Change Terminal.app tab name (by josjbuhler)
echo
-en "33];$107"
}

function sshname () {
SSHHOST
="${@: -1}"
tabname
"`echo $SSHHOST|cut -d'@' -f2`"
unalias ssh

ssh $1

alias ssh=sshname
tabname localhost

}

alias ssh=sshname
tabname localhost

Agora, quando abro uma nova guia, ela se chama localhost.
Quando eu começo a me conectar a um host remoto com um desses comandos:

# ssh root@myremote
# ssh mymailserver

O shell faz as seguintes coisas:
1. Extraia o nome do host remoto ou IP dos argumentos
2. Defina o nome da guia para esse
3. Unaliasing ssh (para evitar loop infinito)
4. Conecte-se ao host remoto

Quando a conexão for concluída, a função criará o alias do ssh e retornará o nome da guia para localhost.