Linux入门进阶-如何在Linux中使用export命令_linux export 生效,2024年最新Linux运维开发手册

3、选项说明

-f
 表示 NAME 为函数名称
-n
 删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中
-p
 列出所有的 Shell 环境变量

4、常用示例

(1)定义环境变量并赋值。

export MYNEWV=8

(2)修改指明 Shell 命令搜索路径的环境变量 PATH。

export PATH=$PATH:/usr/local/mysql/bin

查看是否已经设置好,可以使用命令export -p命令来查看,也可以使用 echo 命令打印变量内容。

export -p | grep PATH

#或
echo $PATH

(3)export 用于 Shell 脚本。

用户登录到 Linux 系统后,系统将启动一个用户 Shell。

在这个 Shell 中,可以使用 Shell 命令或声明变量,也可以创建并运行 Shell 脚本程序。

系统将创建一个子 Shell 进程。此时,系统中将有两个 Shell 进程,一个是登录时系统启动的 Shell 进程,另一个是系统为运行脚本创建的 Shell 进程。

当一个脚本运行完毕,它的脚本 Shell 进程将终止,可以返回到执行该脚本之前的 Shell。从这种意义上来 说,用户可以有许多 Shell 进程,每个 Shell 进程都是由其父 Shell 进程派生的。

如果在一个 Shell 脚本中定义了一个变量,该脚本运行时,这个定义的变量只是该脚本内的一个局部变量,子 Shell 无法引用它。

要使某个变量可以在子 Shell 中被引用,可以使用 export 命令对已定义的变量进行导出,称为导出变量。系统在创建每一个新的 Shell 时会拷贝导出变量,子 Shell 可以访问或修改导出变量,但是这种修改父 Shell 看不到。

例如脚本 test1.sh 中调用脚本 test2.sh,test2.sh 中使用 test1.sh 定义的变量 shareVar。

test1.sh 定义如下:

#!/bin/sh
shareVar=666
export shareVar
./test2.sh

test2.sh 定义如下:

#!/bin/sh
echo "in $0"
echo $shareVar

执行 test1.sh 输出结果如下:

./test1.sh
in ./test2.sh
666

5、Linux 设置环境变量的三种方法

(1)使用 export 命令。

export PATH=$PATH:/usr/local/mysql/bin

注意:直接使用 export 设置的变量都是临时变量,也就是说退出当前的 Shell 为该变量定义的值便不会生效了。我们可以使用如下两种方式使变更永久有效。

(2)修改 /etc/bashrc 或 /etc/profile,加入如下行,对所有用户永久生效。

export PATH=$PATH:/usr/local/mysql/bin

注意:修改完这个文件必须要使用如下命令执行配置文件的内容,在不用重启系统的情况下使修改的内容生效。

source /etc/profile
# 或
. /etc/profile

(3)修改 ~/.bashrc 或者 ~/.bash_profile 文件,加入如下行,只对当前用户永久生效。

export PATH=$PATH:/usr/local/mysql/bin

img
img
img

ocal/mysql/bin



[外链图片转存中...(img-dTynZn3w-1727248609719)]
[外链图片转存中...(img-ONnCPOQ4-1727248609719)]
[外链图片转存中...(img-koGQDwaV-1727248609720)]

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!**
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值