Há um ponto e vírgula ausente:
if [ "$PS1" ]; then PS1="[\e[0;36m]\W\n[\e[m][\e[1;31m]\$[\e[m]" fi
deve ser
if [ "$PS1" ]; then PS1="[\e[0;36m]\W\n[\e[m][\e[1;31m]\$[\e[m]"; fi
Ou formate-o da mesma forma que as outras declarações if
acima desta.