Вопрос

В чем разница между использованием переменной среды, такой как PATH, в качестве $ PATH или $ {PATH}?

Это было полезно?

Решение

В большинстве случаев нет никакой разницы. Это имеет значение только в том случае, если вы хотите включить конечный текст после раскрытия. Например, предположим, что ваш PATH содержал строку FOO (на самом деле это не правильный путь, но это для примера), и вы хотели сформировать строку FOOBAR . Если вы сделали

$PATHBAR

Вы получите расширение переменной с именем PATHBAR , что, вероятно, не то, что вы хотели. Если вы сделали

$PATH BAR

Вы получите пробел между FOO и BAR , а не то, что вам нужно. Решение состоит в том, чтобы использовать фигурные скобки:

${PATH}BAR

Это дает вам ФУБАР .

Другие советы

PATH - это имя переменной среды, $ PATH и $ {PATH} - методы доступа к ним. Форма $ {PATH} используется для разрешения конструкций типа echo $ {PATH} b , которые не будут работать при использовании $ PATHb . Кроме того, bash позволяет выполнять множество операций по замене параметров, которые можно найти на странице руководства с удовольствием расскажет вам больше о.

В вашем случае нет разницы, но - возьмем ситуацию: у вас есть две переменные:

$FOO = "YA"
$YADA = "bar"

тогда $ {$ FOODA} ничего не даст вам, а $ {$ {FOO} DA} даст вам " бар "

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top