Bash - $ PATH и $ {PATH} - PullRequest
       32

Bash - $ PATH и $ {PATH}

5 голосов
/ 13 сентября 2009

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

Ответы [ 3 ]

14 голосов
/ 13 сентября 2009

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

$PATHBAR

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

$PATH BAR

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

${PATH}BAR

Это дает вам FOOBAR.

4 голосов
/ 13 сентября 2009

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

0 голосов
/ 13 сентября 2009

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

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

тогда ${$FOODA} ничего не даст вам, в то время как ${${FOO}DA} даст вам "планку"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...