shell基础67:执行顺序(||及&&,{}及())及正则表表达式

范堡 发布于 2009/05/06 11:25
阅读 224
收藏 0

引用:$ unset A 
$ [ -n "$A" ] && [ "$A" -lt 100 ] || echo 'too big!' 
too big! 



为何上面的结果也可得到呢? 做个记号


网中人第十问
10) && 与 || 差在哪? 
http://bbs.chinaunix.net/forum/viewtopic.php?t=218853&show_type=new&postdays=0&postorder=asc&start=60

第六问:
6) exec 跟 source 差在哪? 
http://www.chinaunix.net/forum/viewtopic.php?t=194191

总结:
fork:在子行程中的环境如何变更,均不会影响父行程的环境。 

正常来说,当我们执行一个 shell script 时,其实是先产生一个 sub-shell 的子行程,然后 sub-shell 再去产生命令行的子行程。 
即我们正常运行一个脚本时:

./my.script


source:所谓 source 就是让 script 在当前 shell 内执行、而不是产生一个 sub-shell 来执行。  
由于所有执行结果均于当前 shell 内完成,若 script 的环境有所改变,当然也会改变当前环境了
source ./my.script 


或: 
. ./my.script



加载中
返回顶部
顶部