В Linux команда export
является встроенной утилитой оболочки bash
. Она используется для обеспечения передачи переменных среды и функций дочерним процессам.
Утилита никак не влияет на существующую переменную среды, так как переменные среды устанавливаются при открывании нового сеанса оболочки.
Содержание
Синтаксис
export [-fn] [имя[=значение] или export -p
Опции
- -f
- Использовать функции командного процессора
- -n
- Удалить свойство экспорта изо всех имён
- -p
- Вывести список всех экспортированных переменных и функций
Примеры использования команды export в Linux
Без опций
В этом случае утилита позволяет вывести на экран все экспортированные переменные:
oleg@mobile:~:$ export
declare -x COLORTERM="truecolor"
declare -x DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/1000/bus"
declare -x DISPLAY=":0.0"
declare -x GREP_COLOR="1;33"
declare -x GREP_OPTIONS="--color=auto"
declare -x HOME="/home/oleg"
declare -x LANG="ru_RU.utf8"
declare -x LOGNAME="oleg"
declare -x MAIL="/var/mail/oleg"
declare -x MOTD_SHOWN="pam"
declare -x OLDPWD="/home/oleg/webprojects/linuxcookbook.ru/articles"
declare -x PATH="”/home/oleg/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl”"
declare -x PS1="\\[\\e[1;32;40m\\u\\e[1;36;40m@\\e[1;32;40m\\H:\\e[1;37;40m\\w:\\e[1;31;40m\\\$\\e[0m\\] "
declare -x PWD="/home/oleg"
declare -x SHELL="/bin/bash"
declare -x SHLVL="1"
declare -x TERM="xterm-256color"
declare -x USER="oleg"
declare -x VTE_VERSION="6800"
declare -x WINDOWID="10485762"
declare -x XAUTHORITY="/home/oleg/.Xauthority"
declare -x XDG_RUNTIME_DIR="/run/user/1000"
declare -x XDG_SEAT="seat0"
declare -x XDG_SESSION_CLASS="user"
declare -x XDG_SESSION_ID="1"
declare -x XDG_SESSION_TYPE="x11"
declare -x XDG_VTNR="7"
oleg@mobile:~:$
Просмотр переменных в текущей оболочке
В данном случае при использовании опции -p
можно просмотреть в текущей оболочке все экспортированные переменные:
oleg@mobile:~:$ export -p
declare -x COLORTERM="truecolor"
declare -x DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/1000/bus"
declare -x DISPLAY=":0.0"
declare -x GREP_COLOR="1;33"
declare -x GREP_OPTIONS="--color=auto"
declare -x HOME="/home/oleg"
declare -x LANG="ru_RU.utf8"
declare -x LOGNAME="oleg"
declare -x MAIL="/var/mail/oleg"
declare -x MOTD_SHOWN="pam"
declare -x OLDPWD="/home/oleg/webprojects/linuxcookbook.ru/articles"
declare -x PATH="”/home/oleg/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl”"
declare -x PS1="\\[\\e[1;32;40m\\u\\e[1;36;40m@\\e[1;32;40m\\H:\\e[1;37;40m\\w:\\e[1;31;40m\\\$\\e[0m\\] "
declare -x PWD="/home/oleg"
declare -x SHELL="/bin/bash"
declare -x SHLVL="1"
declare -x TERM="xterm-256color"
declare -x USER="oleg"
declare -x VTE_VERSION="6800"
declare -x WINDOWID="10485762"
declare -x XAUTHORITY="/home/oleg/.Xauthority"
declare -x XDG_RUNTIME_DIR="/run/user/1000"
declare -x XDG_SEAT="seat0"
declare -x XDG_SESSION_CLASS="user"
declare -x XDG_SESSION_ID="1"
declare -x XDG_SESSION_TYPE="x11"
declare -x XDG_VTNR="7"
oleg@mobile:~:$
Экспорт функций
В этом случае используется опция -f
. Без неё функция будет являться просто переменной. Привожу простой пример.
Экспортируем имя функции — Javatpoint
:
oleg@mobile:~:$ name() { echo "Javatpoint";} "Javatpoint";}
Экспортируем вышеуказанную функцию:
oleg@mobile:~:$ export -f name
Вызываем оболочку bash
для выполнения функции:
oleg@mobile:~:$ bash
Я этот шаг показал лишь для примера. Я его не выполнял, так как оболочка bash в моём дистрибутиве установлена по умолчанию.
Вызываем функцию, введением её имени:
oleg@mobile:~:$ name
Javatpoint
oleg@mobile:~:$
Vim — редактор по умолчанию
Редактор vim
является наиболее широко используемым текстовым редактором Linux. Мы можем установить vim
в качестве текстового редактора по умолчанию с помощью команды экспорта.
Выполним следующее:
oleg@mobile:~:$ export EDITOR=/usr/bin/vim
oleg@mobile:~:$ export | grep EDITOR
declare -x EDITOR="/usr/bin/vim"
oleg@mobile:~:$
Видим, что редактором по умолчанию был установлен vim
.
Удаление имени из списка экспорта
Удаляем редактор vim
из списка экспорта. Используется опция -n
:
oleg@mobile:~:$ export -n EDITOR
oleg@mobile:~:$
Проверяем:
oleg@mobile:~:$ export | grep EDITOR
oleg@mobile:~:$
Заключение
В этой небольшой статье были рассмотрены лишь основы использования в Linux команды export
. Предложенные примеры помогут вам создавать и свои решения.