Shell
shell 基础概念
一些碎碎念:突然发现还少一篇笔记,考完测试以后开始搬上来,结果发现有题目做错了。乐...
- 终端 获取用户输入/展示运算结果的硬件设备
- 终端模拟器 termital, 关联虚拟的tty的输入输出软件
- tty 和终端等价
- Shell
command interpreter, 处理来自终端模拟器的输入输出
- Bash:shell的一种具体实现
类和实例的关系 构成
是一种编程语言
基础命令
变量
- 自定义变量
如何赋值,如何运算
- 系统变量
突然发现考试题做错了...
运算
- 一些常见的运算符:+-* /%|&,逻辑运算符
- '和"需要进行区分,完全引用/部分引用
- 圆括号
- (())算数运算
- ()执行命令
- 命令连接 &&,||,;
- 后台运行&
将标准输入转化为参数列表交给ls
判断命令 整数测试,字符串测试,文件测试
注意中括号空格的写法
函数 自上而下执行,return只是表示状态而不是结果 一般使用echo,printf在外部使用$()获取结果
调试
vscode插件:shellman, shellcheck, shell-format, bash debug
特点
- 模块化
在当前shell内执行函数文件
常用命令
执行过程 shell脚本->bash解析器(字符解析)->shell展开->重定向->执行命令
- shell展开
- 大括号展开
- 波浪号展开
- 参数展开
- 命令替换
- 数学计算
- 文件名展开