John Tromp wrote: > echo "hi\!" still shows the backslash
Thank you for your report. However this is intended behavior. And it is also documented! :-) man bash Enclosing characters in double quotes preserves the literal value of all characters within the quotes, with the exception of $, ‘, \, and, when history expansion is enabled, !. The characters $ and ‘ retain their special meaning within double quotes. The backslash retains its special meaning only when followed by one of the following characters: $, ‘, ", \, or <newline>. A double quote may be quoted within double quotes by preceding it with a backslash. If enabled, history expansion will be performed unless an ! appearing in double quotes is escaped using a backslash. The backslash preceding the ! is not removed. The important part for this is: "The backslash preceding the ! is not removed." This is also required by the POSIX docs. http://www.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html#tag_02_02_01 The backslash shall retain its special meaning as an escape character (see Escape Character (Backslash)) only when followed by one of the following characters when considered special: $ ` " \ <newline> Hope that helps. Bob _______________________________________________ Bug-bash mailing list Bug-bash@gnu.org http://lists.gnu.org/mailman/listinfo/bug-bash