it-roy-ru.com

Команда экспорта UNIX

Я пытаюсь понять использование команды export.

Я пытался использовать man export, но для этой команды руководства нет.

Может кто-нибудь помочь мне разобраться в использовании export в UNIX?

148
Jake

Когда вы выполняете программу, дочерняя программа наследует свои переменные окружения от родителя. Например, если для $HOME установлено значение /root в родительском элементе, тогда для переменной $HOME дочернего элемента также будет установлено значение /root.

Это относится только к переменной среды, помеченной для экспорта. Если вы установите переменную в командной строке, как

$ FOO="bar"

Эта переменная не будет видна в дочерних процессах. Нет, если вы не экспортируете его:

$ export FOO

Вы можете объединить эти два утверждения в одно в bash (но не в старой школе):

$ export FOO="bar"

Вот быстрый пример, показывающий разницу между экспортированными и неэкспортированными переменными. Чтобы понять, что происходит, знайте, что sh -c создает дочерний процесс Shell, который наследует среду родительского Shell.

$ FOO=bar
$ sh -c 'echo $FOO'

$ export FOO
$ sh -c 'echo $FOO'
bar

Примечание: Чтобы получить справку по встроенным командам оболочки, используйте help export. Встроенные модули оболочки - это команды, которые являются частью вашей оболочки, а не независимыми исполняемыми файлами, такими как /bin/ls.

212
John Kugelman

Юникс

Команды env, set и printenv отображают все переменные окружения и их значения. env и set также используются для установки переменных среды и часто включаются непосредственно в оболочку. Кроме того, printenv можно использовать для печати одной переменной, указав имя этой переменной в качестве единственного аргумента команды.

В Unix также могут использоваться следующие команды, но они часто зависят от определенной оболочки.

export VARIABLE=value  # for Bourne, bash, and related shells
setenv VARIABLE value  # for csh and related shells

Вы можете взглянуть на это на

15
user931841

export - это встроенная команда bash Shell и других варианты Bourne Shell . Он используется для маркировки переменной Shell для экспорта в дочерние процессы.

4
David J. Liszewski

export используется для установки переменных окружения. Например:

export EDITOR=pico

Будет установлен текстовый редактор по умолчанию для команды pico.

0
Icarus