Bash - $ PATH и $ {PATH}
-
06-07-2019 - |
Вопрос
В чем разница между использованием переменной среды, такой как 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}
даст вам " бар " Р>