Je viens de voir cela dans un script init:
echo $"Stopping Apache"
A quoi sert ce signe dollar?
Mes recherches jusqu'à présent:
J'ai trouvé ceci dans le manuel bash:
citation
Si elle est définie,
$'string'
et$"string"
citant est effectué dans les${parameter}
extensions entre guillemets. Cette option est activée par défaut.
... mais je ne trouve aucune différence entre les chaînes avec et sans le $
préfixe:
$ 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
la source
$"..."
, selon la question.Vous interprétez mal le manuel. Vous ne verrez un effet que lorsqu'une chaîne $ -cotée est à l' intérieur d' une
${parameter}
extension.Source et lectures supplémentaires: https://lists.gnu.org/archive/html/bug-bash/2005-10/msg00017.html
la source
$"…"
est quelque chose de différent.${}
extension pour utiliser la citation ANSI. Vérifiez par vous-même:echo $'ab\ncd'
extquote
manière incorrecte au lieu de ce que la question demandait."${...}"
est différent de$"..."