On Wed, Jun 22, 2016 at 8:36 PM, Junio C Hamano <gitster@xxxxxxxxx> wrote: > On Wed, Jun 22, 2016 at 11:29 AM, Duy Nguyen <pclouds@xxxxxxxxx> wrote: >> >> Can any shell wizards explain this to me? With this code >> >> BS=\\ >> echo ${BS}${BS} >> >> Debian's dash returns a single backslash while bash returns two >> backslashes. Section 2.2.1 [1] does not say anything about one >> backslash (hidden behind a variable!) after escaping the following one >> and still eats the one after that.. >> >> [1] http://pubs.opengroup.org/onlinepubs/009604499/utilities/xcu_chap02.html > > I am not a wizard, but is the difference between the shell syntax, or just their > implementation of builtin-echo? IOW, how do these three compare? > > printf "%s\n" "${BS}${BS}" > echo "${BS}${BS}" > echo ${BS}$BS} Great! printf shows two backslashes while both echo'es show one. printf "\\\\" behaves like echo though. Doesn't matter, at least I should be able to make the tests work on Debian dash. -- Duy -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html