liunx中如何删除export设置的环境变量
export命令
功能说明:设置或显⽰环境变量。
语 法:export [-fnp][变量名称]=[变量设置值]
补充说明:在shell中执⾏程序时,shell会提供⼀组环境变量。 export可新增,修改或删除环境变量,供后续执⾏的程序使⽤。
export的效⼒仅及于该此登陆操作。
参 数:
-f 代表[变量名称]中为函数名称。
-n 删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执⾏环境中。
-p 列出所有的shell赋予程序的环境变量。
⼀个变量创建时,它不会⾃动地为在它之后创建的shell进程所知。⽽命令export可以向后⾯的shell传递变量的值。当⼀个shell脚本调⽤并执⾏时,它不会⾃动得到原来脚本(调⽤者)⾥定义的变量的访问权,除⾮这些变量已经被显式地设置为可⽤。
export命令可以⽤于传递⼀个或多个变量的值到任何后继脚本。
env 命令即可查看到设置后的环境变量
在 linux ⾥设置环境变量的三种实现⽅法(export PATH):
1.直接使⽤ export 命令(我们以 mysql 服务举例说明)
环境变量path误删有影响吗[root@liyao ~]# export PATH=$PATH:/usr/local/mysql/bin
查看是否已经设置好,可以使⽤命令 export 命令来查看,也可以直接$#变量名#来查看
zhongweichaomatoMacBook-Pro:~ zhongweichao$ $PATH
-bash: :/Users/zhongweichao/.local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/Users/zhongweichao/Develop/jboss-5.1.0.GA/bin
需要注意:直接使⽤ export 设置的变量都是临时变量,也就是说退出当前的 shell ,为该变量定义的值便不会⽣效了。如何能让我们定义的变量永久⽣效呢?那就看我们的第⼆种定义的⽅式。
2. 修改 /etc/profile
[root@liyao ~]# vi /etc/profile
export PATH=$PATH:/usr/local/mysql/bin # 在配置⽂件中加⼊此⾏配置
需要注意的是:修改完这个⽂件必须要使⽤以下命令在不⽤重启系统的情况下使修改的内容⽣效。
[root@liyao ~]# source /etc/profile
或者是⽤ ‘.’:
[root@liyao ~]# . /etc/profile
查看:
[root@liyao ~]# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin
# 配置已经⽣效
3. 修改 .bashrc ⽂件是在当前⽤户 shell 下⽣效
# vi /root/.bashrc?在⾥⾯加⼊:
export PATH=$PATH:/usr/local/mysql/bin
修改这个⽂件之后同样也需要使⽤ source 或者是 . 使配置⽂件⽣效。
再来使⽤ echo $PATH看下变量是否⽣效
[root@liyao ~]# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin
4. 删除变量
unset 命令删除
unset 命令删除也是暂时的,只会在当前环境有效,退出重新连接依然存在export添加的内容。
unset KUBECONFIG
env 查看已删除,但也是暂时的。
彻底删除⽅法
export添加的环境变量,默认保存在~/.bash_profile
到要删除的那⼀⾏删除即可
然后,source .bash_profile 使⽣效
退出重连进⾏验证,已经彻底删除了。
shell与export命令
⽤户登录到Linux系统后,系统将启动⼀个⽤户shell。在这个shell中,可以使⽤shell命令或声明变量,
也可以创建并运⾏ shell脚本程序。运⾏shell 脚本程序时,系统将创建⼀个⼦shell。此时,系统中将有两个shell,⼀个是登录时系统启动的shell,另⼀个是系统为运⾏脚本程序创建的shell。当⼀个脚本程序运⾏完毕,它的脚本shell将终⽌,可以返回到执⾏该脚本之前的shell。从这种意义上来说,⽤户可以有许多 shell,每个shell都是由某个shell(称为⽗shell)派⽣的。
在⼦ shell中定义的变量只在该⼦shell内有效。如果在⼀个shell脚本程序中定义了⼀个变量,当该脚本程序运⾏时,这个定义的变量只是该脚本程序内的⼀个局部变量,其他的shell不能引⽤它,要使某个变量的值可以在其他shell中被改变,可以使⽤export命令对已定义的变量进⾏输出。 export 命令将使系统在创建每⼀个新的shell时定义这个变量的⼀个拷贝。这个过程称之为变量输出。
原⽂出处:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论