Seu problema é que, quando você abre um terminal, o sinalizador i
não está mais definido em '$ -'. Substitua:
# If not running interactively, don't do anything
case $- in
*i*) ;;
*) return;;
esac
com:
# If not running interactively, remember
case $- in
*i*) IsInteractive=1;;
*) IsInteractive=0;;
esac