导出命令
功能说明:设定或显示环境变量。
语法: export [-fnp][变量名称]=[变量设定值]
补充说明:在shell上运行程序时,shell提供一系列环境变量。 在export中,可以添加、修改或删除环境变量,以便在以后运行的程序中使用。
导出的效果只有此登录操作。
参数:
-f表示“变量名称”中有函数名称。
-n删除指定的变量。 变量实际上不会被删除,只是不会输出到后续指令的执行环境中。
-列出p shell赋予程序的所有环境变量。
创建变量后,后续创建的shell进程不会自动识别它。 命令export可以将变量值传递给后续的shell。 当shell脚本被调用并执行时,无法自动访问在原始脚本(调用方)中定义的变量,除非该变量被显式启用。
可以使用export命令将一个或多个变量的值传递给后续脚本。
在linux上设置环境变量的三种实现方法(export PATH ) :
1 .直接使用导出命令(在mysql服务示例中介绍) )。
[ root @ liyao~] #导出路径=$ path :/usr/local/MySQL/SLD zxc
要确定是否已设置,请使用命令导出命令或直接显示$#变量名称#
zhongweichaomatomacbook-pro :至zhong weichao $ $ path
- bash :3360/users/zong weichao/. local/SLD zxc :/usr/SLD zxc 3360/usr/ssld zxc 3360/SLD zxc 3360/SLD zxc
请注意,直接使用export设置的所有变量都是临时变量。 也就是说,退出当前shell时,为该变量定义的值无效。 怎样才能使我们定义的变量永久有效? 让我们来看看第二种定义方法。
修改/etc /配置文件
[根@ liyao~] # VI/etc /简档
导出路径=$ path :/usr/local/MySQL/SLD zxc #将此行配置添加到配置文件中
需要注意的是,修改此文件后,必须使用以下命令使修改生效,而无需重新启动系统。
[根@ liyao~] # source/etc/profile
或者“.”;
[根@ liyao~] #./etc /简档
显示:
[root@liyao ~]# echo $PATH
/usr/Kerberos/ssld zxc 3360/usr/Kerberos/SLD zxc :/usr/ssld zxc 3360/usr/local/SLD zxc 3360/SLD zxc
#配置已启用
修改bashrc文件在当前用户shell下生效
# vi /root/.bashrc? 加入dddpw :
导出路径=$ path :/usr/local/MySQL/SLD zxc
修改此文件后,仍必须使用source或.启用配置文件。
使用echo $PATH看看变量是否有效
[root@liyao ~]# echo $PATH
/usr/Kerberos/ssld zxc 3360/usr/Kerberos/SLD zxc :/usr/ssld zxc 3360/usr/local/SLD zxc 3360/SLD zxc
用于shell和导出的命令
当用户登录到Linux系统时,将启动用户shell。 在此shell中,可以使用shell命令、声明变量以及创建和执行shell脚本。 运行shell脚本时,将创建子shell。 在这种情况下,系统有两个外壳。 一个是系统在登录时启动的shell,另一个是系统为运行脚本程序而创建的shell。 脚本程序运行后,该脚本shell将退出,并可以返回到运行脚本之前的shell。 从这个意义上说,用户可以有很多外壳。 每个壳都派生自一个称为父壳的壳。
在子shell中定义的变量仅在其子shell中有效。 如果在shell脚本中定义了变量,则当脚本运行时,该变量只是脚本中的局部变量,其他shell不能引用。 要允许其他shell更改一个变量的值,请使用export命令输出预定义的变量。 每次创建新shell时,使用export命令都会定义此变量的副本。 这个过程称为变量输出。