ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Объяснение команды export в Linux

Объяснение команды export в Linux

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

export myvar

 

или сокращение как здесь, чтобы присвоить значение сразу:

export myvar=5

 

Вы можете увидеть значение экспортируемых переменных с помощью команды echo :

echo $myvar

 

Чтобы сделать изменения постоянными, вы должны добавить их в файл ~ / .bashrc.

Это было просто краткое изложение. Давайте посмотрим ее в деталях, чтобы лучше понять.

 

Понимание того, как работает команда export

В приведенном ниже примере мы объявляем переменную оболочки var и присваиваю ей значение 3. Пока это переменная оболочки.

andreyex@destroyer:~$ var=3
andreyex@destroyer:~$ echo $var
3

 

Если мы выйдем из терминала и откроем новый терминал, эта переменная оболочки исчезнет. Если мы хотим использовать эту переменную в сценарии оболочки, она не будет работать. Точно так же, если мы переключаем пользователя (и, таким образом, запускаю новую оболочку с этим пользователем), эта переменная оболочки не будет доступна:

andreyex@destroyer:~$ su alex
Password: 
alex@destroyer:/home/andreyex$ echo $var

 

Теперь вернемся к предыдущему пользователю (и, таким образом, к предыдущей оболочке, где мы объявили переменную оболочки). Вы можете видеть, что переменная все еще существует здесь (потому что мы еще не завершили эту сессию оболочки):

alex@destroyer:/home/andreyex$ exit
exit
andreyex@destroyer:~$ echo $var
3

 

Итак, теперь, если мы используем здесь команду экспорта для переменной var, она станет переменной окружения и будет доступна для всех вложенных оболочек, пользователей и сценариев оболочки в этом сеансе.

andreyex@destroyer:~$ export var
andreyex@destroyer:~$ echo $var
3
andreyex@destroyer:~$ su alex
Password: 
alex@destroyer:/home/andreyex$ echo $var
3

 

Вы можете проверить все переменные окружения, используя команду printenv:

printenv

 

Сделать экспортированные переменные оболочки «постоянными» с помощью файла bashrc

Но борьба не заканчивается здесь. Если вы закроете сеанс, выйдете из терминала, выйдете из системы или перезагрузите систему, ваша переменная среды снова исчезнет.

Вот почему принято добавлять команду export в файл конфигурации среды выполнения (rc) вашей оболочки.

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

Если вы используете оболочку bash, у вас должен быть файл bashrc в ~/.bashrc. Вы можете отредактировать этот файл в текстовом редакторе, таком как Vim, или просто добавить к нему файл export var = 3 (или что-либо, что вы экспортируете).

Сделав это, вы должны использовать исходную команду, чтобы сделать изменения доступными немедленно.

Хорошей практикой является хранение всех пользовательских переменных среды в одном месте.

 

Зачем использовать команду экспорта?

Одно из наиболее распространенных применений команды export – это когда вы хотите добавить что-то в путь, чтобы ваша система Linux нашла определенный командный/исполняемый файл.

Например, если вы установили maven и хотите иметь возможность его запустить, вы должны добавить в каталог расположение исполняемых файлов maven следующим образом:

export PATH=/opt/maven/bin:$PATH

 

Что оно делает? Он добавляет это местоположение каталога к пути. Когда вы пытаетесь запустить команду в Linux, ваша система ищет ее исполняемый файл (обычно в каталоге bin) в каталогах, упомянутых в переменной PATH.

andreyex@destroyer:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
andreyex@destroyer:~$ export PATH=/opt/maven/bin:$PATH
andreyex@destroyer:~$ echo $PATH
/opt/maven/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

 

Мы настоятельно рекомендуем прочитать о структуре каталогов Linux, чтобы иметь лучшее представление.

 

Бонус Совет: удалить переменную из списка экспорта

Предположим, вы хотите удалить «экспортированную» переменную. Вы можете использовать опцию “-” следующим образом:

export -n myvar

 

Мы надеемся, что у вас теперь создалось представление о команде export в Linux. Если у вас есть сомнения, пожалуйста, не стесняйтесь спрашивать в разделе комментариев.

Exit mobile version