Команда Linux export

Опубликовано admin - ср, 10/05/2022 - 14:47

В Linux команда export является встроенной утилитой оболочки bash. Она используется для обеспечения передачи переменных среды и функций дочерним процессам.

Использование команды export в Linux с примерами

Утилита никак не влияет на существующую переменную среды, так как переменные среды устанавливаются при открывании нового сеанса оболочки.

Содержание

Синтаксис

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. Предложенные примеры помогут вам создавать и свои решения.

Поделиться с друзьями