shell脚本和编程
1.shell基础概念
概念
构成
2.命令和语法
变量
| 类型 | 作用域 | 声明方式 | 规范 |
|---|---|---|---|
| 自定义变量 | 当前shell | = | 字符串、整型、浮点型、字符型 |
| 环境变量 | 当前shell及其子shell | export、declare -x | |
| 系统环境变量 | 所以shell | 启动加载 |
自定义变量
| declare [+/-] | 选项变量 | declare [+/-] | 选项变量 |
|---|---|---|---|
| - | 给变量设定类型属性 | + | 取消变量的类型属性 |
| -a | 将变量声明为数组类型 | -i | 将变量声明为整数型 |
| -x | 将变量声明为环境变量 | -r | 将变量声明为只读变量 |
| -p | 显示指定变量的被声明类型 |
系统环境变量
配置文件加载
source ~/.bashrc
运算符和引用
管道
重定向
判断命令
分支语句
循环
函数
模块化
模块化的原理是在当前shell内执行函数文件,方式:source[函数库的路径]
常用命令
3.执行过程和原理
执行
- shell脚本一般以.sh结尾,也可以没有;第一行需要指定用什么命令解释器来执行
#! /bin/bash
#! /usr/bin/env bash
- 启动方式
# 文件名运行
./filename.sh
# 解释器运行
bash ./filename.sh
# source 运行
source ./filename.sh
执行过程
shell展开
1.大括号展开(Brace Expansion)
2.波浪号展开(Tilde Expansion)
3.参数展开(Shell Parameter Expansion)
4.命令替换(Command Substitution)
5.数学计算(Arithmetic Expansion)
6.文件名展开(Filename Expansion)
4.调试和前端集成
调试
- 普通log,使用echo、printf
- 使用set命令
- vscode debug插件
VSCode 配置
前端集成
5.学习心得
shell脚本让我体会到了它是一个非常有用的工具,可以用来快速自动化处理各种常见的任务,如文件管理、文本处理、系统管理等方面。在学习过程中,我了解了bash shell脚本编程的语法、变量、参数、分支、循环等基础知识,并且通过实践掌握了如何编写脚本来实现简单的功能。同时学习shell脚本还可以让我更好地理解和使用Linux系统,在日常工作中也可以用shell脚本来做一些重复性的任务,如日志分析等,提高了效率和工作质量。