What is the efect to use the syntax like that:
var=$'value'
The result seems the same as
var=value
I was compare the result of 'env' and 'typeset' and I see that the same variable in 'env' presented as var=value, but in 'typeset' the same vars with the same value presented with $'..'.
What is that and why?
Is there any benefit to use that syntaxis?
I still have no any resolution on this question.
Does anybody has any idea regarding that syntaxis?
What shell are you using ?
With bash, the display is in the form var='value' not var=$'value'
From bash man pages :
Words of the form $'string' are treated specially. The word expands to string, with backslash-escaped charac-
ters replaced as specified by the ANSI C standard. Backslash escape sequences, if present, are decoded as fol-
lows:
\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 digits)
\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.
Jean-Pierre.