shell脚本的4种执行方式

shell脚本的几种执行方式

l  fork:直接使用绝对路径来执行脚本,这种方式会启动一个子shell来执行脚本。

l  source filename:在当前shell环境下,读取并执行filename中的命令。注:该命令可用命令“.”来替代,如:source .bash_rc .  .bash_rc 是等效的。

l  exec 绝对路径:exec使用shell脚本的绝对路径在当前shellshell会被重置到初始环境)下执行脚本,脚本执行完后会退出该shell

l  ./script启动一个子shell来执行脚本。

l  sh|bash filename启动一个子shell读取并执行filename中的命令。

ü  shell的变量结果不会被带回父shell,所以要想通过脚本设置当前shell的环境变量时,要用source命令。

shell脚本执行方式

是否需要执行权限

原因

exec

需要执行权限

由脚本主动调用shell来执行命令

fork./

source.

无需执行权限

shell主动读取脚本并执行

bashsh

使用sh命令执行一个脚本时,可以使用-x参数查看这个脚本的执行过程,在进行脚本调试时,有利于发现问题。

# sh -x first.sh

+ date

Fri Jan  822:28:23 CST 2016

+ echo 'Hello world!'

Hello world!