目录
1.shell的作用
Linux 系统中的 Shell 是一个特殊的应用程序 ,
shell:将人类使用的高级语言翻译成计算机能够识别的二进制语言
/bin/bash为centos7默认的shell解释器
2.脚本的组成
1.声明脚本
第一行开头“#!/bin/bash”,表示此行以下的代码语句是通过/bin/bash程序来解释执行。
2.注释器
以#开头的语句表示为注释信息
3.执行命令
比如echo命令用于输出“ ”之间的字符串
例子:
3.脚本执行逻辑及执行方式
脚本执行逻辑
-
顺序执行:程序按从上到下顺序执行
-
选择执行:程序执行过程中,根据条件的不同,进行选择不同分支继续执行
-
循环执行:程序执行过程中需要重复执行多次某段语句
脚本执行方式
-
直接调用shell解释器,加上脚本的名字bash脚本名,不需要加上权限
-
指定路径运行脚本 路径分为绝对和相对路径,但是需要权限
-
source(.)加脚本名字,不建议使用,不需要权限,会修改目前环境的内容,会有一些问题
4.脚本错误
- 命令错误
不会影响接下来的命令执行,但本条命令不执行
- 语法错误
直接影响脚本无法正常运行
bash -n 脚本名称 检查语法错误
bash -x 脚本名称 逻辑错误
- 逻辑错误
只能自己筛查
5.set -e
在 脚本的前面输入 set -e 一旦出错立即停止
6.重定向和管道符
6.1重定向
重定向:改变电脑数据的输出方向
默认电脑数据的输出方向是屏幕
你发了一条指令给电脑操作,电脑会回复结果给你,结果一定显示在屏幕,
我们称为:标准输出。
如果电脑没有正确回复,
我们称为:错误输出。
通过键盘,鼠标,扫描仪,话筒等设备输入给电脑的指令,
我们称为:标准输入
改变输出方向:
1.输出别的终端设备
2.输出到文件中
>覆盖
>>追加
6.2管道符
| (管道符) :将第一个命令的执行结果作为勾调命令的处理对象
7.变量
7.1自定义变量
变量:值可以发生变化
设置变量:变量名=变量值 (两边没有空格)
调用变量:echo $变量名
删除变量:unset 变量名
重新定义变量:变量=变量值
追加变量值:变量名+=变量值
7.2变量的类型
1.自定义变量
2.预定义变量
$?:代表上一次命令执行结果是否正确,0代表正确,非0代表不正确
$$:代表bash的pid
$0:代表脚本的文件名
$*#:代表位置参数的总个数
$*:代表返回所有参数,所有参数当成一个整体返回
$@:代表返回所有参数,每一个参数都是一个独立的个体返回
3.环境变量
env看到所有环境变量
4.只读变量
只可以读不可以改
5.位置变量
位置变量也称为位置参数,使用$1、$2、$3、…、$9 表示
8.特殊符号
${ }:定义变量名的范围
" ":变量在双引号中可以识别 (弱引用)
' ':变量在单引号中不被识别 (强引用)
` `:反撇号代表引用命令执行的结果,效果等于$( )