Shell 脚本和编程 | 青训营笔记

86 阅读1分钟

一、Shell 脚本和编程

基础.png

二、语法和命令

1. 语法

(1)用户自定义变量: 变量=值 (规范:字符串、整型、浮点型、日期型)

语法.png (2)系统变量:

系统变量.png (3)运算符与引用

运算符.png (4)判断 语法:
-test condition
-[condition]
-[[ condition ]]
注意:
-中括号前后要有空格符; -[和test是命令,只能使用自己支持的标志位,<、>、=只能用来比较字符串。
-中括号内的变量,最好都是用引号括起来
-[[更丰富,在整型比较中支持<、>、=,在字符串比较中支持=~正则\

(5)分支语句

判断语句.png

分支.png (6)循环语句

运算符.png

(7)函数
语法: 函数.png

2. 管道

(1)定义

Linux管道命令是 “ | ”,作用是将前一个命令的结果传递给后面的命令,用来连接多条指令,前一条指令的输出流会作为后一条指令的操作对象,其命令格式为“指令1 | 指令2 | …”,该命令的后一条指令,必须能够接收标准输入流命令才能执行。

(2)要求

管道右侧的命令必须能接受标准输入才行,比如grep命令,ls、mv等不能直接使用,可以使用xargs预处理。(管道命令仅仅处理stdout,对于stderr会予以忽略,可以使用set -o pipefail 设置shell遇到管道错误退出)

(3)重定向

重定向.png

三、执行过程和原理

1. 执行

(1)脚本格式要求

1.  脚本以`#!/bin/bash`开头
2.  脚本需要有可执行权限

(2)启动

运行方式.png

2. shell 展开

shell展开.png

四、调试和前端集成

1. 调试

(1)普通log,使用echo、printf
(2)使用set命令
(3)3vscode debug插件\

2. 前端集成

集成.png