Вы не показываете нам свой сценарий, так что это, очевидно, несколько умозрительно; но, скорее всего, ваш сценарий не должен быть включен, profile.d
потому что он требует какого-то взаимодействия с пользователем.
Профиль должен быть зарезервирован исключительно для вещей, которые должны работать даже в неинтерактивных сессиях.
Правильное место для интерактивной функциональности, вероятно, вовсе не в ваших сценариях входа в систему, а что-то вроде этого, например, в вашем, $HOME/.bash_profile
по крайней мере, вы можете избежать ущерба для неинтерактивных сеансов.
case $- in *i*) invoke your script here;; esac
Если у вас .bash_profile
уже есть, он может уже содержать case $-
заявление, которое вы можете изменить вместо добавления второго.