Właśnie widziałem to w skrypcie inicjującym:
echo $"Stopping Apache"
Do czego służy ten znak dolara?
Moje dotychczasowe badania:
Znalazłem to w podręczniku bash:
ekstrawagancja
Jeśli ustawione,
$'string'
i$"string"
powołując się przeprowadzone w${parameter}
ekspansji zamkniętych w cudzysłowach. Opcja jest wyłączona domyślnie.
... ale nie znajduję żadnej różnicy między łańcuchami z $
prefiksem i bez :
$ echo "I am in $PWD"
I am in /var/shared/home/southworth/qed
$ echo $"I am in $PWD"
I am in /var/shared/home/southworth/qed
$ echo $"I am in ${PWD}"
I am in /var/shared/home/southworth/qed
$ echo "I am in ${PWD}"
I am in /var/shared/home/southworth/qed
$ echo 'I am in ${PWD}'
I am in ${PWD}
$ echo $'I am in ${PWD}'
I am in ${PWD}
$ echo $'I am in $PWD'
I am in $PWD
źródło
$"..."
pytaniu.Źle interpretujesz instrukcję. Zobaczysz efekt tylko wtedy, gdy $ -quoted ciąg jest wewnątrz w
${parameter}
ekspansji.Źródło i dalsze czytanie: https://lists.gnu.org/archive/html/bug-bash/2005-10/msg00017.html
źródło
$"…"
jest coś innego.${}
rozszerzenia, aby skorzystać z cytowania ANSI. Sprawdź sam:echo $'ab\ncd'
extquote
niepoprawnie zamiast zadawać pytanie."${...}"
jest inny niż$"..."