Bash 初学者指南

Machtelt Garrels

版本 1.8 最后更新日期 20060315 版本


目录
简介
1. 为什么选择本指南?
2. 谁应该阅读本书?
3. 新版本、翻译和可用性
4. 修订历史
5. 贡献
6. 反馈
7. 版权信息
8. 你需要什么?
9. 本文档中使用的约定
10. 本文档的组织结构
1. Bash 和 Bash 脚本
1.1. 常用的 shell 程序
1.2. Bourne Again SHell 的优势
1.3. 执行命令
1.4. 构建块
1.5. 编写优秀的脚本
1.6. 总结
1.7. 练习
2. 编写和调试脚本
2.1. 创建和运行脚本
2.2. 脚本基础
2.3. 调试 Bash 脚本
2.4. 总结
2.5. 练习
3. Bash 环境
3.1. Shell 初始化文件
3.2. 变量
3.3. 引用字符
3.4. Shell 扩展
3.5. 别名
3.6. 更多 Bash 选项
3.7. 总结
3.8. 练习
4. 正则表达式
4.1. 正则表达式
4.2. 使用 grep 的示例
4.3. 使用 Bash 特性进行模式匹配
4.4. 总结
4.5. 练习
5. GNU sed 流编辑器
5.1. 简介
5.2. 交互式编辑
5.3. 非交互式编辑
5.4. 总结
5.5. 练习
6. GNU awk 编程语言
6.1. 开始使用 gawk
6.2. print 程序
6.3. Gawk 变量
6.4. 总结
6.5. 练习
7. 条件语句
7.1. if 语句简介
7.2. 更高级的 if 用法
7.3. 使用 case 语句
7.4. 总结
7.5. 练习
8. 编写交互式脚本
8.1. 显示用户消息
8.2. 捕获用户输入
8.3. 总结
8.4. 练习
9. 重复性任务
9.1. for 循环
9.2. while 循环
9.3. until 循环
9.4. I/0 重定向和循环
9.5. break 和 continue
9.6. 使用 select 内置命令创建菜单
9.7. shift 内置命令
9.8. 总结
9.9. 练习
10. 更多关于变量
10.1. 变量类型
10.2. 数组变量
10.3. 变量的操作
10.4. 总结
10.5. 练习
11. 函数
11.1. 简介
11.2. 脚本中函数的示例
11.3. 总结
11.4. 练习
12. 捕获信号
12.1. 信号
12.2. 陷阱
12.3. 总结
12.4. 练习
A. Shell 特性
A.1. 常用特性
A.2. 不同的特性
B. GNU 自由文档许可
B.1. 序言
B.2. 适用性和定义
B.3. 逐字复制
B.4. 批量复制
B.5. 修改
B.6. 合并文档
B.7. 文档集合
B.8. 与独立作品的聚合
B.9. 翻译
B.10. 终止
B.11. 本许可的未来修订
B.12. 如何为您的文档使用本许可
术语表
索引
表格列表
1. 排版和用法约定
1-1. 编程术语概述
2-1. 设置调试选项概述
3-1. 保留的 Bourne shell 变量
3-2. 保留的 Bash 变量
3-3. 特殊的 Bash 变量
3-4. 算术运算符
4-1. 正则表达式运算符
5-1. Sed 编辑命令
5-2. Sed 选项
6-1. gawk 的格式字符
7-1. 主要表达式
7-2. 组合表达式
8-1. echo 命令使用的转义序列
8-2. read 内置命令的选项
10-1. declare 内置命令的选项
12-1. Bash 中的控制信号
12-2. 常用的 kill 信号
A-1. 常用 Shell 特性
A-2. 不同的 Shell 特性
图表列表
1. Bash 初学者指南封面
2-1. script1.sh
3-1. 不同用户不同的提示符
6-1. awk 中的字段
7-1. 使用 if 测试命令行参数
7-2. 使用布尔运算符的示例