12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- # Test for correct handling of backslashes.
- # Note that some lines in each heredoc start with a tab.
- a=qwerty
- echo Quoted heredoc:
- cat <<"EOF1"
- a\
- b
- a\\
- b
- 123456 -$a-\t-\\-\"-\'-\`-\--\z-\*-\?-
- -$a-\t-\\-\"-\'-\`-\--\z-\*-\?-
- 123456 `echo v'-$a-\t-\\-\"-\'-\`-\--\z-\*-\?-'`
- 123456 $(echo v'-$a-\t-\\-\"-\'-\`-\--\z-\*-\?-')
- c\
- EOF1
- echo
- echo Unquoted heredoc:
- cat <<EOF2
- a\
- b
- a\\
- b
- 123456 -$a-\t-\\-\"-\'-\`-\--\z-\*-\?-
- -$a-\t-\\-\"-\'-\`-\--\z-\*-\?-
- 123456 `echo v'-$a-\t-\\-\"-\x-\`-\--\z-\*-\?-'`
- 123456 $(echo v'-$a-\t-\\-\"-\x-\`-\--\z-\*-\?-')
- c\
- EOF2
- EOF2
- echo
- echo Quoted -heredoc:
- cat <<-"EOF3"
- a\
- b
- a\\
- b
- 123456 -$a-\t-\\-\"-\'-\`-\--\z-\*-\?-
- -$a-\t-\\-\"-\'-\`-\--\z-\*-\?-
- 123456 `echo v'-$a-\t-\\-\"-\'-\`-\--\z-\*-\?-'`
- 123456 $(echo v'-$a-\t-\\-\"-\'-\`-\--\z-\*-\?-')
- c\
- EOF3
- # In -heredoc case the marker is detected even if it is indented.
- echo
- echo Unquoted -heredoc:
- cat <<-EOF4
- a\
- b
- a\\
- b
- 123456 -$a-\t-\\-\"-\'-\`-\--\z-\*-\?-
- -$a-\t-\\-\"-\'-\`-\--\z-\*-\?-
- 123456 `echo v'-$a-\t-\\-\"-\x-\`-\--\z-\*-\?-'`
- 123456 $(echo v'-$a-\t-\\-\"-\x-\`-\--\z-\*-\?-')
- c\
- EOF4
- EOF4
- # The marker is not detected if preceding line ends in backslash.
- # TODO: marker should be detected even if it is split by line continuation:
- # EOF\
- # 4
- # but currently hush doesn't do it. (Tab before "4" is not allowed, though.)
- echo
- echo "Done: $?"
|