vcs_info doesn't work due to the '-'/Dash problem. It fails at line 6 of VCS_INFO_get_cmd: vcs_comm[cmd]=${cmd:-$vcs} In gettokstr(), seen_brct is set to 1 by the '[' and never reset to 0, and the '-' is converted to Dash. % x= % y=yes % echo ${x:-$y} yes % a[1]=${x:-$y} % echo '<'$a[1]'>' <>