export

参考:http://cn.linux.vbird.org/linux_basic/0320bash.php#variable_environphp

我是这样理解的,bash是一个父程序,全部在bash下运行的指令都能用bash里定义的环境变量和自定义变量。可是当在bash下再运行一个bash,那么这就是一个子程序linux

子程序仅会继承父程序的环境变量, 子程序不会继承父程序的自定义变量shell

也就是说若是要让子程序也能用到父程序中的自定义变量,那么就得把自定义变量变成环境变量。export就能干这个bash

 

举个例子函数

在用xargs中调用函数的时候,以下lua

企图在当前文件夹下找到全部的lua文件,并echo出来,固然自己要达到这个目的是不须要用到管道的spa

这个时候,执行文件就会提示 bash: t: command not found,也就是说bash不认识t这个玩意。那么再加上export试下blog

$ sh t_export.sh
./cc/c.lua
function end
./cc/a.lua
function end
./aaaa.lua
function end
./aa/a.lua
function end
./bb/b.lua
function end
./bb/a.lua
function end
./a.lua
function end继承

 

export 功能说明:设置或显示环境变量。
语  法:export [-fnp][变量名称]=[变量设置值]
补充说明:在shell中执行程序时,shell会提供一组环境变量。export可新增,修改或删除环境变量,供后续执行的程序使用。export的效力仅限于该次登录操做。
参  数:
 -f  表明[变量名称]中为函数名称。
 -n  删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。
 -p  列出全部的shell赋予程序的环境变量。io

相关文章
相关标签/搜索