Frage

Was ist der Unterschied zwischen einer Umgebungsvariable verwenden, wie PATH, wie $ PATH oder $ {PATH}?

War es hilfreich?

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"

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top