Você pode usar ~/.profile , que é executado quando bash é iniciado como um login shell .
Existe uma maneira de fazer um script bash ser executado somente quando o primeiro terminal da sessão estiver aberto?
Obviamente, fazer o sourcing no arquivo ~/.bashrc não responde à pergunta.
Você pode usar ~/.profile , que é executado quando bash é iniciado como um login shell .
~/.bashrc pode muito bem ser a resposta (em um sistema systemd, se você puder ter certeza de que o bash é usado):
if ! [ -f /run/user/$UID/runonce_myscript ]; then
touch /run/user/$UID/runonce_myscript
/path/to/myscript
fi