+ -
当前位置:首页 → 问答吧 → 空间不够啊!

空间不够啊!

时间:2011-11-01

来源:互联网

按我的理解,
如果在命令行下执行 a=b,那么 $a的值就是b,和 export a=b没有什么不同吧?

因为,如果执行脚本,是 fork,在子进程中执行脚本的命令,那么子进程除了pid和父进程不同,其他的都一样,也就是说, 子进程也会具体父进程中的所有变量,$a 的值应该也是 b呀,

可是我实验的结果不是这样,

引用:
$v=b
$echo $v
b
$sh
sh-4.2$ echo $v

这里没有输出,

而如果用了 export,
引用:
$export a=b
$sh
sh-4.2$ echo $a
b

在 子 shell 里就会知道 $a 的值是 b

可是,,


不是说fork的过程就是子进程复制父进程的数据吗?

作者: axxdz   发布时间: 2011-11-01

加了export是全局变量。

作者: 懒蜗牛Gentoo   发布时间: 2011-11-01

哦,不对,好像应该叫,环境变量。

作者: 懒蜗牛Gentoo   发布时间: 2011-11-01