# This test demonstrates that in unquoted $v, backslashes expand by this rule: | |
# \z -> \\\z; \<eol> -> \\<eol> (for any z, special or not), | |
# and subsequently globbing converts \\ to \ and treats \z as literal z | |
# even if it is a special char. | |
>'Zf' | |
>'Z\f' | |
echo 'Expected' 'Actual' | |
v='\*'; echo 'Z\* :' Z$v # ash is buggy here: prints 'Z\f' | |
echo 'Z* :' Z\* | |
echo 'Z\f :' Z\\* | |
echo 'Z\* :' Z\\\* # NB! only this matches Z$v output | |
echo | |
v='\z'; echo 'Z\z :' Z$v | |
echo 'Zz :' Z\z | |
echo 'Z\z :' Z\\z | |
echo 'Z\z :' Z\\\z | |
echo | |
v='\'; echo 'Z\ :' Z$v | |
echo 'Z\ :' Z\\ | |
echo | |
v='*'; echo 'Z\f Zf :' Z$v | |
echo 'Z\f Zf :' Z* | |
echo | |
rm 'Z\f' 'Zf' | |
echo Done: $? |