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.