On 04/01/2019 13:20, Peter Wu wrote:
Hi,

Dash 'read' builtin with the '-r' option is not POSIX-compliant:

     $ printf 'omg\\bar\\x41-\\\\-\n' > input
     $ dash -c 'read -r x < input; cat input; echo "$x"'
     omg\bar\x41-\\-
     omar\x41-\-

The outputs are expected to be equal (which is the case with bash).
Originally found in dash 0.5.8-2.10 (Ubuntu 18.04), but also reproduced
with dash 0.5.10.2-1 (Arch Linux).

This isn't read giving the backslashes special treatment, it's echo. Use printf "%s\n" "$x" instead and you will get the same output.

Cheers,
Harald van Dijk

Reply via email to