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

posted @ 2019-01-18 09:56  SpaceVision  阅读(89)  评论(0编辑  收藏  举报