Execute um script bash apenas uma vez

2

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.

    
por J. Doe 07.08.2017 / 22:08

2 respostas

1

Você pode usar ~/.profile , que é executado quando bash é iniciado como um login shell .

    
por 07.08.2017 / 22:12
1

~/.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
    
por 08.08.2017 / 03:34