前端学习之shell脚本和编程

137 阅读3分钟

Shell脚本类似于Windows/Dos下的批处理,也就是预加载各种命令文件的程序文件,方便一次性执行,主要是为了方便管理员设置或管理。

但它比Windows下的批处理更强大,也比用其他编程程序编辑的程序更高效,毕竟它使用Linux/Unix下的命令。

换句话说,shell 脚本是使用 shell 的功能编写的程序。该程序使用纯文本文件,在其中写入一些 shell 语法和指令,然后使用常规符号、管道命令和数据流。

重定向等功能,达到我们想要的处理目的。

说得更清楚一点,shell脚本就像dos时代早期的.bat。最简单的功能是将多条命令组装在一起,让用户可以在一次操作中轻松执行多条命令,而shell脚本更提供了数组、循环、条件、逻辑判断等重要功能,让用户可以直接在shell 没有使用 C 编程语言等传统编程语言的语法。

shell和shell脚本有什么区别?准确地说,Shell 是一个命令行解释器,它的作用是按照一定的语法来解释输入的命令,并将其传递给系统。

它为用户提供了一个接口系统级程序,向Linux发送请求以运行程序。用户可以使用 Shell 来启动、暂停、停止,甚至编写一些程序。

Shell本身是一个用C语言编写的程序,是用户使用Linux的桥梁。 Shell 既是一种命令语言,又是一种编程语言(你称之为 shell 脚本)。

作为一种命令语言,它交互式地解释和执行用户输入的命令;作为一种编程语言,它定义了各种变量和参数,并提供了许多只有高级语言才有的控制结构,包括循环和分支。

虽然它不是Linux系统内核的一部分,但它调用了系统内核的大部分功能,以并行的方式执行程序、创建文档和协调各种程序的执行。

打开文本编辑器(可以使用vi/vim命令创建文件),新建文件test.sh,扩展名为sh(sh代表shell),扩展名不影响脚本的执行,它是很高兴知道名称,如果您使用 php 编写 shell 脚本,并使用 php 作为扩展名。

脚本的执行方式: 1、需要执行权限 使用路径(绝对/相对) + 文件名 2、直接使用shell程序 shell + 文件名 bash + 文件名 sh + 文件名 3、第三种(不要权限) 会影响当前环境,会有未知问题 source(不建议使用) 脚本名 . 等于source

脚本的执行逻辑

1、顺序执行:程序按从上到下顺序执行

2、选择执行:程序执行过程中,根据条件的不同,进行选择不同分支继续执行

3、循环执行:程序执行过程中需要重复执行多次某段语句

 

脚本错误调试:

1、命令错误

命令出错,不会影响后续的执行

2、语法错误

会影响接下来的命令执行

3、逻辑错误

只能自己去筛查

查代码的正确

bash -n 脚本名称 (不在当前目录下加绝对路径) 检查语法错误

bash -x 脚本名称 (不在当前目录下加绝对路径) 逻辑错误