Jonathan Tan [off-list ref] writes:
Extend the shell-scripting section of CodingGuidelines to suggest octal
escape sequences (e.g. "\302\242") over hexadecimal (e.g. "\xc2\xa2")
since the latter can be a source of portability problems.
Sounds good. On a typical GNU system, /usr/bin/printf as well as
printf built into bash groks "\x<hex>" escapes in its format string,
but we cannot depend on it because POSIX does not require support
for "\x<hex>", and printf built into dash indeed does not. It is a
good idea to stress that this is specifically about the format
string (in other words, nothing magical happens when using octal or
hex escapes in say "printf '%s\n' '\302\242'").
+ - Use octal escape sequences (e.g. "\302\242"), not hexadecimal (e.g.
+ "\xc2\xa2") in printf format strings, since hexadecimal escape
+ sequences are not portable.
Will queue. Thanks.