什么是Shell脚本?
将多条Linux命令组合在一个文件中,这个文件就是Shell脚本。在Linux中,Shell脚本通常以.sh
作为文件扩展名。
完成一个shell脚本的流程
-
写脚本
-
赋予脚本可执行权限:
chmod 755
-
执行脚本
语法
-
Shell脚本中,命令按行解释。如果想在同一行执行多条命令,可以在命令之间加上分号。
-
Shell有很多种,通常我们写bash脚本。
-
bash脚本中,以
#
开头的一行,被认定为注释。 -
bash脚本的第一行,需要加上
#!/bin/bash
。这个声明的作用:-
如果是用bash执行这个脚本,比如
bash shell-script.sh
,那么这行就被认为是注释。 -
如果是用其他系统默认的shell执行这个脚本,比如
./shell-script.sh
,那么这个声明就是告诉当前shell,要用bin目录下的bash来执行这个脚本。
-
执行脚本的方式
-
bash shell-script.sh
:-
在当前终端下面产生一个叫做bash的子进程,子进程下面再去运行脚本。
-
这种方式运行脚本,脚本不需要可执行权限。
-
-
./shell-script.sh
:、-
产生一个子进程,子进程下面再去运行脚本。
-
这种方式运行脚本,脚本需要可执行权限。
-
-
source ./shell-script.sh
或. shell-script.sh
:-
在当前进程运行脚本。
-
.
其实就是source
命令的另外一种写法。
-
debug脚本
- 将脚本按照shell读入顺序按行打印:
bash -v shell-script
- 打印每一行的执行结果:
bash -x shell-script
内建命令和外建命令的区别
-
内建命令不需要创建子进程去执行。
-
内建命令对当前Shell生效。
附一个很容易看而且很棒的英文教程:Linux Shell Scripting Tutorial