Linux - GeneralThis Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
What is the purpose of that '$' in front of an string, like in
Code:
echo $"usage: $0"
in bash scripts ?
You can see it all around in scripts at /etc/init.d but I was not able to figure out what is its purpose, neither found references to it in bash man page....
The only reference to it is indirect:
from bash man page:
Code:
extquote
If set, $'string' and $"string" quoting is performed within ${parameter} expansions enclosed in double quotes.
This option is enabled by default.
I guess you didn't look hard enough. It's in the man-page fairly near the beginning, however, as the bash man-page is so big and ugly, I'll forgive you this once.
Code:
Words of the form $'string' are treated specially. The word expands to string, with back-
slash-escaped characters replaced as specified by the ANSI C standard. Backslash escape
sequences, if present, are decoded as follows:
\a alert (bell)
\b backspace
\e an escape character
\f form feed
\n new line
\r carriage return
\t horizontal tab
\v vertical tab
\\ backslash
\' single quote
\nnn the eight-bit character whose value is the octal value nnn (one to three dig-
its)
\xHH the eight-bit character whose value is the hexadecimal value HH (one or two
hex digits)
\cx a control-x character
The expanded result is single-quoted, as if the dollar sign had not been present.
A double-quoted string preceded by a dollar sign ($) will cause the string to be translated
according to the current locale. If the current locale is C or POSIX, the dollar sign is
ignored. If the string is translated and replaced, the replacement is double-quoted.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.