Basta substituir \w
pela variável de ambiente PWD
:
PS1="\[\'if [[ \$? = "0" ]]; then echo '\e[32m\h\e[0m'; else echo '\e[31m\h\e[0m' ; fi\':\$PWD\n\$ "
De qualquer forma, se você se importar com uma pequena dica, eu escreveria algo como:
PS1='\['[ $? = 0 ] && X=2 || X=1; tput setaf $X'\]\h\['tput sgr0'\]:$PWD\n\$ '