Linux中的export命令用于创建环境变量,你可以像这样使用它:export myvar
或者立即给它赋值:export myvar=5echo $myvar
要使更改永久化,应将它添加到~/.bashrc文件。
了解export命令的工作原理
在下面的示例中,我声明一个shell变量var并为其分配一个值3。它现在是shell变量。[email ]:~$ var=3
[email ]:~$ echo $var
3
如果我退出终端,并打开一个新的终端,这个shell变量将消失,如果我想在shell script中使用这个变量,它将不能工作,同样,如果我切换用户(并由此用户启动一个新的shell),则此shell变量将不可用:[email ]:~$ su prakash
Password:
[email ]:/home/abhishek$ echo $var
现在,让我们回到上一个用户(以及我声明shell变量的前一个shell)。可以看到变量仍然存在(因为我们还没有终止这个shell会话):[email ]:/home/abhishek$ exit
exit
[email ]:~$ echo $var
3
因此,如果我在此处的变量var上使用export命令,它将成为一个环境变量,它将可供此会话中的所有子shell,用户和shell脚本使用。[email ]:~$ export var
[email ]:~$ echo $var
3
[email ]:~$ su prakash
Password:
[email ]:/home/abhishek$ echo $var
3
可以使用printenv命令检查所有环境变量:printenv
一个好的做法是将所有用户定义的环境变量都放在一个位置。
为什么使用export命令?
export命令最常见的用法之一是当你想向路径中添加一些内容时,以便Linux系统能够找到特定的命令/可执行文件。
例如如果你安装了Maven,并且希望能够运行它,则应该将Maven可执行文件的目录位置添加到以下路径:export PATH=/opt/maven/bin:$PATH
它的作用是什么它将这个目录位置添加到路径,尝试在Linux中运行命令时,系统会在PATH变量中提到的目录中搜索它可执行文件(通常在bin目录中)。[email ]:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
[email ]:~$ export PATH=/opt/maven/bin:$PATH
[email ]:~$ echo $PATH
/opt/maven/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
额外提示:从导出的列表中删除变量
假设您要删除"已导出"变量。可以用以下方式使用否定选项:export -n myvar
我希望您现在对Linux中的export命令有一个更好的了解。