[环境变量]
脚本只能对它产生的子进程 export 变量.一个从命令行被调用的脚本export 的变量,将不能影响调用这个脚本的那个命令行 shell 的环境.
function func() { echo "GLOBAL = $GLOBAL"; export LOCAL="abc" echo "LOCAL = $LOCAL"; } export GLOBAL="global"; export LOCAL="LOCAL"; (func) #()即表示使用一个子shell执行 echo "LOCAL = $LOCAL";
可能上面的一句话粗看起来比较费解. 解释一下
1. export, 即可以改变一个环境变量的值, 比如我们在linux shell下可以export LANG=en_US, 去设置语言变量
2. 如果A进程, 调用B进程(比如调用另一个shell脚本, 或者是用一个子shell去执行一个函数)
3. B进程中使用export去改变环境变量的值, 该变量在B中生效
4. A进程中的环境变量不被影响
本文链接:https://www.poisonbian.com/post/230.html 转载需授权!