什么是Shell
- 是命令,类似于windows的Dos
- 通过编写shell命令发送给linux内核去执行,从而达到操作计算机硬件(cpu、内存、磁盘等)。所以shell命令是用户操作计算机硬件的桥梁
- shell是一门程序设计语言,包含有变量、函数以及逻辑控制语句
什么是Shell脚本
- 就是一个文本文件,通常是以.sh为扩展名
- 文件中包含了一系列的shell命令
- 形成了一个可以重复执行的脚本
Shell运行的流程
-
用户编写的shell命令通过shell解析器解析后,发送给linux内核,然后内核做出相应的动作。系统的回应和输出也是通过shell解析器解析后,返回给用户的屏幕上
Shell解析器
-
常用的解析器有:/bin/sh;/bin/bash;/sbin/nologin 具体参考下图
-
查看当前系统环境的解析器,可以使用 echo $SHELL
Shell脚本编写规范
- 文件以.sh后缀
-
首行需要添加解析器类型
#!/bin/bash
(含义:就是指定该脚本是以bash的解析器运行)
Shell脚本的执行
- 使用sh执行,如命令:sh abc.sh
- 使用bash执行,如命令:bash abc.sh
- 使用路径执行,如命令:./abc.sh
三种执行方式的区别
- 第一种和第二种本质上都是使用的shell解析器进行执行,不需要可执行权限
- 第三种使用路径方式执行,是需要可执行权限的
Shell脚本中如何注释
-
单号使用#注释,如
# 注释内容
-
多行使用
:<<! 注释内容 !