Veja como acabei de fazer isso:
Adicionei isso a .bash_profile
# Only do this in the first terminal opened
termsOpen=$(who | grep 'ttys' | wc -l)
if (( $termsOpen < 2 )); then
echo "This is echoed in the first tty opened only"
fi
Então, ao iniciar o terminal pela primeira vez, recebo esta saída:
Last login: Mon Sep 26 08:30:42 on ttys001
This is echoed in the first tty opened only
Quando abro outro terminal (e, portanto, tenho duas janelas de terminal abertas ao mesmo tempo), recebo esta saída:
Last login: Mon Sep 26 08:33:43 on ttys000
Como funciona:
Toda vez que uma nova janela de terminal é aberta, .bash_profile
é originado.
Este comando
who | grep 'ttys' | wc -l
simplesmente conta o número de janelas de terminal que estão abertas. Se eles forem menores que 2 (em outras palavras, existe apenas uma janela de terminal ativa), então echo This is echoed in the first tty opened only
Informações da versão:
Versão do OS X: 10.11.5
bash --version
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin15)