Bash - $ PATH und $ {PATH}
-
06-07-2019 - |
Frage
Was ist der Unterschied zwischen einer Umgebungsvariable verwenden, wie PATH, wie $ PATH oder $ {PATH}?
Lösung
Es gibt keinen Unterschied in den meisten Fällen. Das einzige Mal, es zählt, ist, wenn Sie Text nach der Expansion Hinter enthalten sein sollen. Angenommen, Ihre PATH
den Zeichenfolge FOO
enthielten (nicht tatsächlich einen gültigen Pfad, aber dies ist für ein Beispiel), und man wollte die Zeichenfolge FOOBAR
bilden. Wenn ja
$PATHBAR
Sie würde die Erweiterung der Variable mit dem Namen PATHBAR
bekommen, das ist wahrscheinlich nicht das, was Sie wollten. Wenn ja
$PATH BAR
Sie würden einen Raum zwischen FOO
und BAR
bekommen, auch nicht das, was Sie wollten. Die Lösung ist Klammern zu verwenden:
${PATH}BAR
Das gibt Ihnen FOOBAR
.
Andere Tipps
PATH
ist der Name der Umgebungsvariable, $PATH
und ${PATH}
sind Methoden von ihnen erreichbar. Die Form ${PATH}
wird verwendet Konstrukte wie echo ${PATH}b
zu ermöglichen, die mit $PATHb
scheitern würde. Außerdem ermöglicht bash
viele Parameter Ersatz Sachen, die der Manpage rel="nofollow Sie gerne sagen mehr über.
In Ihrem Fall gibt es keinen Unterschied, aber - nehmen Sie die Situation: Sie haben zwei Variablen:
$FOO = "YA"
$YADA = "bar"
dann ${$FOODA}
geben Ihnen nichts, während ${${FOO}DA}
Sie geben "bar"