export命令用于将shell变量输出为环境变量,或者将shell函数输出为环境变量。当一个变量被创建时,它不会被在它之后创建的shell进程自动识别。命令export可以将变量的值传递给后续的shell。命令语法export[parameter]命令参数-f:指向函数。-n:去掉变量的导出属性。-p:显示所有具有导出属性的变量。-pf:显示所有具有导出属性的函数。-nf:去掉函数的导出属性。列出所有当前环境变量>export-pdeclare-xCLASSPATH=".:/opt/java/jdk1.8.0_231/lib:/opt/java/jdk1.8.0_231/jre/lib"declare-xHISTCONTROL="ignoredups"declare-xHISTSIZE="1000"declare-xHOME="/root"declare-xHOSTNAME="JD"declare-xJAVA_HOME="/opt/java/jdk1.8.0_231"declare-xJAVA_OPTS="-服务器-Xms4096m-Xmx4096m-XX:PermSize=256M-XX:MaxNewSize=512m-XX:MaxPermSize=512m"declare-xJRE_HOME="/opt/java/jdk1.8.0_231/jre"declare-xLANG="en_US.UTF-8"declare-xLESSOPEN="||/usr/bin/lesspipe.sh%s"declare-xLOGNAME="root"定义环境变量>exportRUMENZ定义环境变量赋值>exportRUMENZ=7exportafunctionexportAfunctionfunc_1>functionfunc_1(){echo"123";}测试函数输出>func_1123在bash脚本中调用func_1>vimtest.sh#!/bin/bashfunc_1//执行此脚本,报错>bashtest.shtest.sh:line3:func_1:commandnotfound在脚本中也可以正常调用func_1函数,此时export>export-ffunc_1//查看定义的函数>export-pffunc_1(){echo'123'}declare-fxfunc_1declare-fxfunc_1deletetheexportattributeoffunc_1>export-fnfunc_1//再次执行脚本>bashtest.shtest.sh:line3:func_1:commandnotfound进行导出variablepermanent命令行导出的各种变量和函数,只是暂时有效。下次再次登录时,之前定义的变量和函数将不存在。如果想让我们定义的变量和函数在每次登录系统时都可用,那么就需要在一个文件中定义变量的定义和导出,然后在每次登录系统时执行一次该文件即可实现目标。正常的登录配置文件是顺序加载的。所谓正常登录是指用户通过输入用户名和密码登录的状态。如果想对系统所有用户生效,可以在下面的文件/etc/profile/etc/profile.d/*.sh/etc/bashrc中定义变量和exports例如:定义JAVA_HOME环境变量>vim/etc/profile#在最后添加exportJAVA_HOME=/usr/local/jdk1.8exportPATH=${JAVA_HOME}/bin:$PATH//立即生效运行>source/etc/profile如果只想生效对于某个用户,可以通过在用户家定义变量,在目录的以下文件中导出~/.bash_profile~/.bashrc来自定义命令行前的显示。显示用户名、主机名、shell名>vim~/.bashrc#最后加上exportPS1="\u@\h>\s"//立即生效>source~/.bashrc命令行前面有[root@local~]#成为root@local>-bash原文链接:https://rumenz.com/rumenbiji/...微信公众号:入门站
