shell脚本的4种执行方式
shell脚本的几种执行方式
l fork:直接使用绝对路径来执行脚本,这种方式会启动一个子shell来执行脚本。
l source filename:在当前shell环境下,读取并执行filename中的命令。注:该命令可用命令“.”来替代,如:source .bash_rc 与 . .bash_rc 是等效的。
l exec 绝对路径:exec使用shell脚本的绝对路径在当前shell(shell会被重置到初始环境)下执行脚本,脚本执行完后会退出该shell。
l ./script启动一个子shell来执行脚本。
l sh|bash filename启动一个子shell读取并执行filename中的命令。
ü 子shell的变量结果不会被带回父shell,所以要想通过脚本设置当前shell的环境变量时,要用source命令。
shell脚本执行方式 | 是否需要执行权限 | 原因 |
exec | 需要执行权限 | 由脚本主动调用shell来执行命令 |
fork或./ | ||
source或. | 无需执行权限 | 由shell主动读取脚本并执行 |
bash或sh |
使用sh命令执行一个脚本时,可以使用-x参数查看这个脚本的执行过程,在进行脚本调试时,有利于发现问题。
# sh -x first.sh
+ date
Fri Jan 822:28:23 CST 2016
+ echo 'Hello world!'
Hello world!
转载于:https://blog.51cto.com/zhuxingye/1735784