当前位置: 技术问答>linux和unix
linux~shell编程~请教一个关于如何执行脚本的问题
来源: 互联网 发布时间:2016-10-22
本文导语: 大家好,问一个问题: $cat file #!/bin/bash echo hello exit 0 我这样执行: $bash file 输出结果:hello $. file 输出结果:退出了shell 增file文件加了可执行权限之后,也可以这么执行: $./file 输出结果:hel...
大家好,问一个问题:
$cat file
#!/bin/bash
echo hello
exit 0
我这样执行:
$bash file 输出结果:hello
$. file 输出结果:退出了shell
增file文件加了可执行权限之后,也可以这么执行:
$./file 输出结果:hello
谁能给我解释一下这三种执行方法的区别啊,尤其是为什么第二种方法会退出shell,而第一种和第三种不会?
为什么./file要求文件必须具有可执行权限?
谢谢
$cat file
#!/bin/bash
echo hello
exit 0
我这样执行:
$bash file 输出结果:hello
$. file 输出结果:退出了shell
增file文件加了可执行权限之后,也可以这么执行:
$./file 输出结果:hello
谁能给我解释一下这三种执行方法的区别啊,尤其是为什么第二种方法会退出shell,而第一种和第三种不会?
为什么./file要求文件必须具有可执行权限?
谢谢
|
第二种方式是在当前的shell环境中执行,没有开辟新的shell进程,所以脚本中的exit 就导致整个shell结束了
第一和第三种方式都是新开辟一个子shell来执行你的脚本。
第一和第三种方式都是新开辟一个子shell来执行你的脚本。
|
第一种方式,指定用bash来执行你的脚本,脚本本身可以没有执行权限。
直接执行脚本,要求脚本本身有执行权限
直接执行脚本,要求脚本本身有执行权限