Bash Script
Basic Concept
一些关于Bash和Shell的基本概念。
Bash & Shell
Shell是用户和操作系统的接口。它是一个命令解释器。Bash(Bourne Again SHell)是Shell的一个类型,由GNU开发,是对Bourne Shell(sh)的改进和扩展,同时也是当今Linux和MacOS的默认Shell。
更通俗地来说,Shell相当于Linux操作系统,而Bash则是Linux操作系统的一个发行版,如Ubuntu。
Bash Script & Shell Script
脚本(Script),也就是我们常说的解释性编程语言,常见的Python、JavaScript都是脚本语言。Bash脚本和Shell脚本都是让Shell能够执行一连串命令行指令的程序,它们的关系就类似于Bash和Shell的关系:
- Bash脚本只能用Bash语言编写,其语法也是Bash的语法,而Shell脚本则能用任何的Shell语法编写;
- Bash脚本的文件后缀为
.sh
,而Shell脚本就是一个普通的文本文件,不需要任何后缀,只要可执行即可。
无论是Bash脚本还是Shell脚本,都需要相应的Shell解释器来执行。使用
cat /etc/shells
能够查看本机所拥有的Shell解释器。
Execution & Comment
对于任何一个Bash脚本,编写时首先要指定其要使用的解释器:
1 |
上述行指定该Bash脚本将使用解释器/bin/bash
运行。运行Bash脚本时,我们可以以文件名运行,也可以以bash
加文件名运行,如一个最简单的Bash脚本:
1 | [zclzcl@localhost Playground]$ touch helloScript.sh |
最简单的Bash脚本就是一系列Linux命令行指令的组合。此时,运行该Bash脚本相当于在当前目录下串行地运行这些指令。要想运行Bash脚本,首先要确保脚本文件是可执行的,若用户无执行脚本文件的权限,则需要用
chmod +x [Script File]
增加权限。
与其他编程语言一样,我们也能在脚本文件中增加注释来增强脚本文件的可读性。在Bash脚本中,单行注释用#
,多行注释用: ''
(引号内是注释内容)。