导图社区 shell脚本
这是一篇关于shell的思维导图,详细梳理了shell编程的多个方面,主要内容包括:父子shell,数组,函数,条件判断,三剑客,基本概念。介绍了grep、sed和awk这三个在文本处理中常用的工具。grep用于查找文本中的模式,sed用于对文本进行编辑,而awk则专注于数据分析和报告生成。这些工具与shell脚本的结合使用,可以极大地提高文本处理的效率和准确性。便于快速掌握shell脚本编程的核心知识和技巧。
这是一个关于信息安全系统综合设计与开发的思维导图,“需求分析”的细化阶段,包括体系架构设计、总体设计(概要设计)和详细设计。在体系架构设计中,根据概要设计对系统进行模块划分,将各个模块的算法和具体流程细化到每个步骤。在系统开发完成后,进入“信息系统开发测试”阶段,包括系统实现、系统测试和系统评估。涵盖了从需求分析到系统运营与维护的全周期,确保了系统的安全性、稳定性和可用性。
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
shell
基本概念
shell脚本文件与shell
将linux或类UNIX系统的命令写入到一个文件中,这个文件就是一个shell脚本文件
用户和内核之间增加的“命令解释器”
版本
Bourne shell
C shell
bash shell(默认)
变量
变量类型
自定义变量:临时定义的变量
环境变量:用export内置命令导出的变量
$0:命令、函数、脚本本身
$1-9:个位数
${10}:两位数
位置变量:传递参数时,代表特殊位置的变量
$0
$1
预定义变量:在bash中已有的变量,可以直接使用
$@:多个参数分别传递
$*:多个参数作为一个整体传递
$#:参数个数
$?:返回状态码($0,$非0)
变量赋值
直接赋值:定义变量(=)
从键盘读入赋值:将bash的内置命令read读入的内容赋给变量(read、>)
使用命令行参数赋值:在命令行shell下输入的参数内容
利用命令行的输出结果赋值:将命令行的执行结果赋值给变量
从文件中读入数据赋值:把文件内容赋值给变量(<)
变量的变化
变量的删除
变量的替换
变量的替代
变量的自增
i++:先赋值再增加 ++i:先自加再赋值
特殊符号
注释
单行:#
多行:/* */ 关键字:comment
引号
单引号:原始字符
双引号:解析后的字符
反引号:命令替换
脚本执行方式
脚本文件没有执行权限限制
./first.sh(无权限会报错)
bash first.sh
sh first.sh
脚本文件有执行权限限制
chmod +x first.sh(提权) ./first.sh(相对路径执行) /root/first.sh(绝对路径执行)
实用命令
pstree:查看进程树
echo:打印
printf:打印
read:读取用户输入
正则表达式
^:以此开头
$:以此结尾
字符簇
#^[^0-9][0-9]$ #第一个字符不能是数字
#[^a-z] #除了小写字符以外的所有字符
#[^$] #空行
条件判断
for循环
while循环
数组
数组分类
普通数组
关联数组
数组表达书
函数
函数定义方法
中断与退出
continue:结束单次循环,该命令后面的所有语句不再执行,进而直接跳转到下一次循环
break:结束整个循环,该命令后面的所有语句不再执行,并且整个循环提前结束
exit:直接结束整个脚本,该命令后面也可跟数字参数,表述脚本的退出状态
父子shell
子shell(SubShell)
子shell会自动继承父shell的很多环境,如变量、工作目录、文件描述等
子shell中的环境仅在子shell中有效,父shell无法读取子shell的环境
开启子shell的方式
()
&
|
$()
执行外部函数
不开启子shell的方式
文件重定向
source调用
三剑客
grep:查找
sed:编辑
awk:数据分析、生成报告