Just noticed another dash bug: when setting invalid PS1 values dash enters an infinite loop. For instance, setting PS1='$(' makes dash print many of these: dash: 1: Syntax error: end of file unexpected (expecting ")") It would be nice to fallback to the default PS1 value on error.