shell脚本的4种执行方式shell
shell脚本的几种执行方式bash
l fork:直接使用绝对路径来执行脚本,这种方式会启动一个子shell来执行脚本。ide
l source filename:在当前shell环境下,读取并执行filename中的命令。注:该命令可用命令“.”来替代,如:source .bash_rc 与 . .bash_rc 是等效的。spa
l exec 绝对路径:exec使用shell脚本的绝对路径在当前shell(shell会被重置到初始环境)下执行脚本,脚本执行完后会退出该shell。调试
l ./script启动一个子shell来执行脚本。ip
l sh|bash filename启动一个子shell读取并执行filename中的命令。ci
ü 子shell的变量结果不会被带回父shell,因此要想经过脚本设置当前shell的环境变量时,要用source命令。it
shell脚本执行方式table |
是否须要执行权限class |
缘由 |
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!