export
用于设置环境变量,使其在子shell中生效,基本用法:export VAR_NAME=value,可将其添加到~/.
export命令
export命令是Linux及其他类Unix操作系统中用于设置或显示环境变量的重要命令,在shell环境中执行程序时,shell会提供一组环境变量,而export命令可对这些环境变量进行新增、修改或删除操作,使设置的环境变量能够被后续执行的程序所使用。

基本语法与参数
- 基本语法:
export [-fn] [name[=value]] - 参数说明
| 参数 | 含义 |
| –| –|
| -f | 使后续的命令函数也接受此环境变量 |
| -n | 从后续命令函数中移除此环境变量 |
| name | 环境变量名称 |
| value | 环境变量的值(可选) |
常见使用方法
- 查看环境变量
- 输入
export -p或export,可列出所有已导出的环境变量及其值。$ export -p declare -x PATH="......" declare -x USER="......"
- 输入
- 设置环境变量
- 格式为
export 变量名=变量值,比如要设置一个名为MY_VAR的环境变量,其值为my_value,可执行export MY_VAR=my_value,这样,在当前shell会话及后续执行的子进程中,都可以通过$MY_VAR来引用该变量的值。
- 格式为
- 永久设置环境变量
- 若希望环境变量在每次登录系统时都生效,需将其写入相关的配置文件,常见的配置文件有:
| 文件名 | 适用场景 |
| –| –|
| /etc/profile | 全局环境变量,对所有用户生效 |
| ~/.bash_profile或~/.bash_login或~/.profile | 当前用户的环境变量(一般用户登录时执行的是~/.bash_profile) |
| ~/.bashrc | 当前用户的bash shell配置,交互式非登录shell执行(如打开新的终端窗口) | - 编辑相应的配置文件,添加
export 变量名=变量值这一行,然后保存退出,例如在~/.bashrc文件中添加export MY_VAR=my_value,下次登录或打开新的终端窗口时,该环境变量就会自动生效。
- 若希望环境变量在每次登录系统时都生效,需将其写入相关的配置文件,常见的配置文件有:
实例演示
- 临时设置并使用环境变量
- 在终端中执行
export TEST_VAR="Hello, World!",设置一个名为TEST_VAR的环境变量。 - 然后执行
echo $TEST_VAR,会输出Hello, World!,说明在当前shell环境中可以正确引用该变量。 - 再执行一个子进程命令,如
bash -c 'echo $TEST_VAR',也会输出Hello, World!,表明该环境变量在子进程中也可使用。
- 在终端中执行
- 永久设置环境变量并验证
- 编辑
~/.bashrc文件,添加export MY_PERMANENT_VAR="This is permanent"这一行,保存退出。 - 重新打开一个终端窗口,执行
echo $MY_PERMANENT_VAR,会输出This is permanent,说明永久设置成功。
- 编辑
相关问题与解答
- 问题:如何删除已设置的环境变量?
- 解答:可以使用
unset命令来删除环境变量,要删除之前设置的MY_VAR变量,可执行unset MY_VAR,之后,再执行echo $MY_VAR将不会有任何输出,说明该变量已被成功删除。
- 解答:可以使用
- 问题:export命令设置的环境变量和局部变量有什么区别?
- 解答:在shell中,局部变量只在当前shell进程及其函数内部有效,而export命令设置的环境变量不仅在当前shell进程中有效,还会被传递给后续执行的子进程,在当前shell中定义一个局部变量
local_var=123,然后在子进程中执行bash -c 'echo $local_var',会发现没有输出,因为子进程无法获取到父进程中的局部变量;但如果是使用export ENV_VAR=456设置了环境变量,
- 解答:在shell中,局部变量只在当前shell进程及其函数内部有效,而export命令设置的环境变量不仅在当前shell进程中有效,还会被传递给后续执行的子进程,在当前shell中定义一个局部变量
以上就是关于“export命令怎么用”的问题,朋友们可以点击主页了解更多内容,希望可以够帮助大家!

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/13216.html