您可能不知道,执行shell脚本其实有三种方式,分别是:
- 重定向方式
- 参数方式
- 直接执行
下面分别比较一下每种做法(都以在linux的bash执行脚本sample.sh作为例子)
重定向方式
$sh < sample.sh
参数方式
$sh sample.sh arg1 arg2 arg3
优点:能输入参数。
另外,如果我想要在当前的shell下面执行脚本,而不要另外启动一个shell进程,则可以用 “.” 来实现:
$. sample.sh
(注意:另外几种方式都会fork一个子进程来执行shell脚本)
它等价于
$source sample.sh
直接执行
这种方式需要修改shell脚本的权限为可执行,然后直接运行该文件。
$chmod a+x sample.sh
$./sample.sh
$export PATH="$PATH:."