Linux export 命令
Linux export命令用于设置或显示环境变量。
关于环境变量可参考后面的资料[1]。
在shell中执行程序时,shell会提供一组环境变量。export可新增,修改或删除环境变量,供后续执行的程序使用。export的效力仅及于该次登陆操作。
语法
export [-fnp][变量名称]=[变量设置值]
参数说明:
- -f 代表[变量名称]中为函数名称。
- -n 删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。
- -p 列出所有的shell赋予程序的环境变量。
实例
列出当前所有的环境变量 (export -p 貌似和shell命令printenv没多大区别)
$ export -p
declare -x CLUTTER_IM_MODULE="xim"
declare -x COLORTERM="truecolor"
declare -x DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/1000/bus"
declare -x DEFAULTS_PATH="/usr/share/gconf/ubuntu.default.path"
declare -x DESKTOP_SESSION="ubuntu"
declare -x DISPLAY=":0"
declare -x GDMSESSION="ubuntu"
declare -x GJS_DEBUG_OUTPUT="stderr"
declare -x GJS_DEBUG_TOPICS="JS ERROR;JS LOG"
declare -x GNOME_DESKTOP_SESSION_ID="this-is-deprecated"
declare -x GNOME_SHELL_SESSION_MODE="ubuntu"
declare -x GNOME_TERMINAL_SCREEN="/org/gnome/Terminal/screen/d310975b_e5c6_4c64_8232_c0f8cf6ee43c"
declare -x GNOME_TERMINAL_SERVICE=":1.78"
declare -x GPG_AGENT_INFO="/run/user/1000/gnupg/S.gpg-agent:0:1"
declare -x GTK_IM_MODULE="ibus"
declare -x GTK_MODULES="gail:atk-bridge"
declare -x HOME="/home/matthew"
declare -x IM_CONFIG_PHASE="2"
declare -x LANG="zh_CN.UTF-8"
declare -x LANGUAGE="zh_CN:zh"
declare -x LESSCLOSE="/usr/bin/lesspipe %s %s"
declare -x LESSOPEN="| /usr/bin/lesspipe %s"
declare -x LOGNAME="somebody"
把/usr/local/bin添加到环境路径中,
export PATH=$PATH:/usr/local/bin
添加函数,
$ printname () { echo "SpaceSoftwares.com"; }
$ export -f printname
$ bash
$ printname
SpaceSoftwares.com
删除变量,
$ export MYVAR=10
$ export | grep MYVAR
declare -x MYVAR="10"
$ export -n MYVAR
$ export | grep MYVAR
$
查看帮助文档,
$ man export
附加说明
永久添加环境变量(影响当前用户)
#vim ~/.bashrc
export PATH="/path/to/be/added/bin:$PATH"
永久添加环境变量(影响所有用户)
# vim /etc/profile
在文档最后,添加:
export PATH="/path/to/be/added/bin:$PATH"
保存,退出,然后运行:
#source /etc/profile
参考:
[1] https://help.ubuntu.com/community/EnvironmentVariables
[2] https://linuxconfig.org/learning-linux-commands-export