How does the leading dollar sign affect single quotes in Bash?
bash, double-quotes, quotes, single-quotes
Solution
It causes escape sequences to be interpreted.
$ echo $'Name\tAge\nBob\t24\nMary\t36'
Name Age
Bob 24
Mary 36
After those sequences are expanded, the result is single-quoted, as if the dollar sign had not been present.
Problem
I need to pass a string to a program as its argument from the Bash CLI, e.g ``` program "don't do this" ``` The string may include any character like `'$'`, `'\'`, etc. and I don't want Bash to do any modification. So I think about using single quotes. However the following does not work: ``` program 'don\'t do this' //escape doesn't work in single quote ``` While the following two works: ``` program $'dont\'t do this' //seems fine, but any other side effects? program 'dont'\''do this' //breaking into 3 parts ``` The first approach seems better in that it acquires less pre modification (put the dollar symbol in front and substitute every `\` to `\\`), but I don't know what else the DOLLAR SIGN might do. I've really googled this but I can't find what I need...