一、Shell 脚本和编程
二、语法和命令
1. 语法
(1)用户自定义变量: 变量=值 (规范:字符串、整型、浮点型、日期型)
(2)系统变量:
(3)运算符与引用
(4)判断
语法:
-test condition
-[condition]
-[[ condition ]]
注意:
-中括号前后要有空格符;
-[和test是命令,只能使用自己支持的标志位,<、>、=只能用来比较字符串。
-中括号内的变量,最好都是用引号括起来
-[[更丰富,在整型比较中支持<、>、=,在字符串比较中支持=~正则\
(5)分支语句
(6)循环语句
(7)函数
语法:
2. 管道
(1)定义
Linux管道命令是 “ | ”,作用是将前一个命令的结果传递给后面的命令,用来连接多条指令,前一条指令的输出流会作为后一条指令的操作对象,其命令格式为“指令1 | 指令2 | …”,该命令的后一条指令,必须能够接收标准输入流命令才能执行。
(2)要求
管道右侧的命令必须能接受标准输入才行,比如grep命令,ls、mv等不能直接使用,可以使用xargs预处理。(管道命令仅仅处理stdout,对于stderr会予以忽略,可以使用set -o pipefail 设置shell遇到管道错误退出)
(3)重定向
三、执行过程和原理
1. 执行
(1)脚本格式要求
1. 脚本以`#!/bin/bash`开头
2. 脚本需要有可执行权限
(2)启动
2. shell 展开
四、调试和前端集成
1. 调试
(1)普通log,使用echo、printf
(2)使用set命令
(3)3vscode debug插件\