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

178 阅读2分钟

shell脚本和编程

1.shell基础概念

概念

image.png

构成

image (14).png

2.命令和语法

变量

类型作用域声明方式规范
自定义变量当前shell=字符串、整型、浮点型、字符型
环境变量当前shell及其子shellexport、declare -x
系统环境变量所以shell启动加载

image.png

自定义变量

image.png

declare [+/-]选项变量declare [+/-]选项变量
-给变量设定类型属性+取消变量的类型属性
-a将变量声明为数组类型-i将变量声明为整数型
-x将变量声明为环境变量-r将变量声明为只读变量
-p显示指定变量的被声明类型

系统环境变量

image.png

配置文件加载

image (15).png

source ~/.bashrc

运算符和引用

image (16).png

管道

image (17).png

image (18).png

重定向

image (19).png

image (20).png

判断命令

image (21).png

image (22).png

分支语句

image.png

循环

image.png

函数

image.png

模块化

模块化的原理是在当前shell内执行函数文件,方式:source[函数库的路径]

image.png

常用命令

image.png

3.执行过程和原理

执行

  • shell脚本一般以.sh结尾,也可以没有;第一行需要指定用什么命令解释器来执行

#! /bin/bash

#! /usr/bin/env bash

  • 启动方式
# 文件名运行
./filename.sh

# 解释器运行
bash ./filename.sh

# source 运行
source ./filename.sh

执行过程

image.png

shell展开

1.大括号展开(Brace Expansion)

image.png

2.波浪号展开(Tilde Expansion)

image.png

3.参数展开(Shell Parameter Expansion)

image.png

4.命令替换(Command Substitution)

image.png

5.数学计算(Arithmetic Expansion)

image.png

6.文件名展开(Filename Expansion)

image.png

4.调试和前端集成

调试

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

VSCode 配置

image.png

前端集成

image.png

5.学习心得

shell脚本让我体会到了它是一个非常有用的工具,可以用来快速自动化处理各种常见的任务,如文件管理、文本处理、系统管理等方面。在学习过程中,我了解了bash shell脚本编程的语法、变量、参数、分支、循环等基础知识,并且通过实践掌握了如何编写脚本来实现简单的功能。同时学习shell脚本还可以让我更好地理解和使用Linux系统,在日常工作中也可以用shell脚本来做一些重复性的任务,如日志分析等,提高了效率和工作质量。