【命令操作】Linux上export命令详解 _ 统信 _ 麒麟 _ 方德

原文链接:【命令操作】Linux上export命令详解 | 统信 | 麒麟 | 方德
Hello,大家好啊!今天给大家带来一篇关于Linux系统中export命令的详解文章。在Linux中,export命令用于将变量导出到子进程环境中,是环境变量管理中非常重要的一个命令。无论是在命令行中临时设置变量,还是在脚本中定义全局变量,export都能够帮助我们更好地控制和使用这些变量。本文将详细介绍export命令的基本用法、常见使用场景及相关注意事项,帮助大家掌握并灵活运用这一命令。欢迎大家分享转发,点个关注和在看吧!

什么是export命令?

export命令用于将Shell中的变量导出到子进程环境中,从而使这些变量能够被当前Shell启动的子进程继承和使用。在Shell中,不使用export的变量只在当前Shell进程中有效,不会影响由该Shell启动的其他进程。而通过export导出的变量则会成为环境变量,可以在子Shell或子进程中使用。

export命令的注意事项

变量名不能包含特殊字符:在使用export命令定义变量时,变量名不能包含空格或特殊字符(如$、*等)。

环境变量的作用域:export命令导出的变量只在当前Shell及其子进程中有效。如果您想让某个环境变量在整个系统中始终有效,可以将export命令写入系统的环境配置文件中(如/etc/profile或~/.bashrc)。

1.基本语法

export [变量名]=[值]

变量名:你想要导出的变量的名称。

值:你要赋予该变量的值。

示例:

pdsyw@pdsyw-client:~/Desktop$ export MY_VARIABLE="Hello, pdsyw!"

这会设置环境变量 MY_VARIABLE,并将其值设置为 “Hello, pdsyw!”。

示例

导出变量:

pdsyw@pdsyw-client:~/Desktop$ MY_VAR="Hello"
pdsyw@pdsyw-client:~/Desktop$ export MY_VAR

这个例子首先定义了一个名为 MY_VAR 的变量,并将它的值设置为 Hello,然后使用 export 命令使它对所有子进程可见。

定义和导出变量(简洁写法):

pdsyw@pdsyw-client:~/Desktop$ export MY_VAR="Hello"

上述命令同时定义了变量并导出。

2.查看已导出的变量

pdsyw@pdsyw-client:~/Desktop$ export -p

使用 export -p 可以查看当前 shell 中所有已导出的环境变量。

3.使变量对子进程可见

pdsyw@pdsyw-client:~/Desktop$ export PATH=$PATH:/home/pdsyw/
pdsyw@pdsyw-client:~/Desktop$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/sbin:/usr/sbin:/home/pdsyw/

这将把 /home/pdsyw/ 添加到 PATH 环境变量中,使得当前 shell 及其子进程可以使用该路径下的命令。

4.export 的应用场景

脚本中设置环境变量:在编写 shell 脚本时,常常需要设置一些全局变量供子进程使用。例如,配置程序路径或者设置 API 密钥。

修改系统变量:修改诸如 PATH 这样的系统变量,使得安装的新软件能够在命令行中被找到和执行。

5.作用域

在 Linux 中,变量分为 局部变量 和 环境变量:

局部变量:只能在当前 shell 会话中使用,不能在子进程中使用。

环境变量:通过 export 设为环境变量后,它可以在子进程中使用。

pdsyw@pdsyw-client:~/Desktop$ MY_VAR="Hello"
pdsyw@pdsyw-client:~/Desktop$ echo $MY_VAR  # 输出:Hello
pdsyw@pdsyw-client:~/Desktop$ bash  # 启动一个子shell
pdsyw@pdsyw-client:~/Desktop$ echo $MY_VAR  # 没有输出,因为 MY_VAR 只是局部变量
pdsyw@pdsyw-client:~/Desktop$ exit  # 返回父shell
pdsyw@pdsyw-client:~/Desktop$ export MY_VAR="Hello"
pdsyw@pdsyw-client:~/Desktop$ bash  # 启动一个子shell
pdsyw@pdsyw-client:~/Desktop$ echo $MY_VAR  # 输出:Hello,因为 MY_VAR 是环境变量

6.取消导出变量

如果想在环境中删除一个变量,可以使用 unset 命令:

pdsyw@pdsyw-client:~/Desktop$ export -p | grep MY_VAR
declare -x MY_VAR="Hello"
pdsyw@pdsyw-client:~/Desktop$ unset MY_VAR
pdsyw@pdsyw-client:~/Desktop$ export -p | grep MY_VAR

这会从当前 shell 和子进程中删除 MY_VAR 变量。

7.常见用法

在一个脚本中导出变量以供其他程序使用:

pdsyw@pdsyw-client:~/Desktop$ vim start-server.sh
pdsyw@pdsyw-client:~/Desktop$ cat start-server.sh
#!/bin/bash
export DATABASE_URL="mysql://user:pass@localhost:3306/dbname"
pdsyw@pdsyw-client:~/Desktop$ ./start-server.sh

start-server.sh 脚本可以访问 DATABASE_URL

8.添加环境变量到 .bashrc 中

为了在每次打开终端时都自动导入环境变量,可以把它写入到 .bashrc 文件中:

pdsyw@pdsyw-client:~/Desktop$ echo 'export MY_VAR="Hello"' >> ~/.bashrc
pdsyw@pdsyw-client:~/Desktop$ source ~/.bashrc

通过本文的介绍,您已经掌握了Linux系统中export命令的用法及常见使用场景。无论是定义全局变量、临时设置环境变量,还是在脚本中传递变量,export都是非常重要且实用的工具。如果您觉得这篇文章有用,请分享和转发,同时别忘了点个关注和在看,以便未来获取更多实用的Linux命令教程。感谢大家的阅读,我们下次再见!

猜你喜欢

转载自blog.csdn.net/m0_69493559/article/details/142851610