формат printf в зависимости от количества параметров

Это разница между экспортируемыми и не -экспортируемыми переменными среды.

Команда exportперечисляет только экспортированные переменные среды ,то есть те переменные, которые помечены как наследуемые дочерними процессами либо потому, что оболочка унаследовала их от своего родительского процесса, либо потому, что была использована команда exportили declare -x, чтобы пометить их как экспортируемые.

Неэкспортируемые -переменные полезны в скриптах, так как вы можете использовать их внутри скрипта, но они не будут загромождать среду каких-либо дочерних процессов.

Для установки не -экспортируемой переменной можно использовать только синтаксис name=value:

$ FOO=bar
$ echo $FOO
bar
export | grep FOO
$

Позже вы можете пометить переменную как экспортируемую:

...
$ export FOO
$ export | grep FOO
declare -x FOO="bar"

Классическая оболочка Bourne на самом деле требовала от вас инициализировать переменные среды в два -шага :сначала установить значение, а затем пометить его как экспортируемое. Таким образом, вы все еще можете видеть этот синтаксис в сценариях оболочки, стремящихся к максимальной переносимости :

.
FOO=bar
export FOO

Современные оболочки позволяют сделать это за один шаг:

$ export FOO=bar

Таким образом, в вашем случае вы должны были ранее выполнить PKG_CONFIG_PATH=:/usr/local/lib/pkgconfigлибо вручную, либо в исходном сценарии, либо как часть ваших сценариев входа.

0
06.07.2021, 14:36
0 ответов

Теги

Похожие вопросы