Você não está nos mostrando seu roteiro, então isso é obviamente um tanto especulativo; mas provavelmente o seu script não deve estar em profile.d
porque requer algum tipo de interação com o usuário.
O perfil deve ser reservado exclusivamente para coisas que precisam ser executadas mesmo em sessões não interativas.
O local adequado para a funcionalidade interativa provavelmente não está em seus scripts de login, mas algo assim, por ex. no seu $HOME/.bash_profile
pode pelo menos evitar produzir danos para sessões não interativas.
case $- in *i*) invoke your script here;; esac
Se você já tem um .bash_profile
, ele já pode conter uma declaração case $-
, que você pode alterar em vez de adicionar um segundo.