SHELL脚本运行的几种方法以及区别

 我来答
川倾孤神7421
2013-11-05 · 超过62用户采纳过TA的回答
知道答主
回答量:135
采纳率:0%
帮助的人:142万
展开全部
#2 sh/bash ./a.sh 这种情况不需要脚本具有执行权限 以上两种执行方式都是在子shell中执行的,也就是说当前shell需要启动另外一个shell,用来执行a.sh内的命令 #1 source ./a.sh #2 ../a.sh(注意前面的 . ) 以上两种执行方式是在当前shell下执行,并不需要建立子shell source和 . 命令的作用:用来执行一个脚本 前两种方式和后两种方式的另外区别:如果你在一个脚本里export $KKK=111 ,如果你用./a.sh执行该脚本,执行完毕后,你运行 echo $KKK ,发现没有值,如果你用source来执行 ,然后再echo ,就会发现KKK=111。因为调用./a.sh来执行shell是在一个子shell里运行的,所以执行后,结构并没有反应到父shell里,但是source不同它就是在本shell中执行的,所以可以看到结果。 # 执行脚本时是在一个子shell环境运行的,脚本执行完后该子shell自动退出 # 一个shell中的系统环境变量只对该shell或者它的子shell有效,该shell结束时变量消失(并不能返回到父shell中) # 用export定义的变量会被复制到该shell的子shell中
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式