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