【文件属性】:
文件名称:高级Bash脚本编程指南.pdf
文件大小:2.24MB
文件格式:PDF
更新时间:2012-08-23 11:20:09
高级Bash脚本编程指南.pdf
高级Bash脚本编程指南
一本深入学习shell脚本艺术的书籍
Mendel Cooper
春敏 杨 -
毅 黄 -
3.9.1
2006年5月26日
这本书假定你没有任何关于脚本或一般程序的编程知识, 但是如果你具备相关的知识, 那么你将很容易就能够达到中高级的水平. . . 所有这些只是UNIX®浩瀚知识的一小部分. 你可以把本书作为教材, 自学手册, 或者是关于shell脚本技术的文档. 书中的练习和样例脚本中的注释将会与读者进行更好的互动, 但是最关键的前提是: 想真正学习脚本编程的唯一途径就是亲自动手编写脚本.
这本书也可作为教材来讲解一般的编程概念.
本文档的最新版本是作为一个归档文件bzip2-ed, "tar包"来发布的, 其中还包括SGML源代码和编译好的HTML版本. 读者可以从作者的主页上下载. pdf版本也可以从作者的主页上下载. 查看change log来查看校订历史.
贡献
献给Anita, 我所有动力的源泉!
目录
序
1. 原书作者致中国读者(英文)
2. 原书作者致中国读者(译文)
3. 黄毅
4. 杨春敏
第一部分. 热身
1. 为什么使用shell编程?
2. 带着一个Sha-Bang出发(Sha-Bang指的是#!)
2.1. 调用一个脚本
2.2. 初步的练习
第二部分. 基本
3. 特殊字符
4. 变量和参数的介绍
4.1. 变量替换
4.2. 变量赋值
4.3. Bash变量是不区分类型的
4.4. 特殊的变量类型
5. 引用
5.1. 引用变量
5.2. 转义
6. 退出和退出状态码
7. 条件判断
7.1. 条件测试结构
7.2. 文件测试操作符
7.3. 其他比较操作符
7.4. 嵌套的if/then条件测试
7.5. 检测你对测试知识的掌握情况
8. 操作符与相关主题
8.1. 操作符
8.2. 数字常量
第三部分. 进阶
9. 变量重游
9.1. 内部变量
9.2. 操作字符串
9.3. 参数替换
9.4. 指定变量的类型: 使用declare或者typeset
9.5. 变量的间接引用
9.6. $RANDOM: 产生随机整数
9.7. 双圆括号结构
10. 循环与分支
10.1. 循环
10.2. 嵌套循环
10.3. 循环控制
10.4. 测试与分支(case与select结构)
11. 内部命令与内建命令
11.1. 作业控制命令
12. 外部过滤器, 程序和命令
12.1. 基本命令
12.2. 复杂命令
12.3. 时间/日期 命令
12.4. 文本处理命令
12.5. 文件与归档命令
12.6. 通讯命令
12.7. 终端控制命令
12.8. 数学计算命令
12.9. 混杂命令
13. 系统与管理命令
13.1. 分析一个系统脚本
14. 命令替换
15. 算术扩展
16. I/O重定向
16.1. 使用exec
16.2. 代码块重定向
16.3. 重定向的应用
17. Here Document
17.1. Here String
18. 休息片刻
第四部分. 高级主题
19. 正则表达式
19.1. 一份简要的正则表达式介绍
19.2. 通配(globbing)
20. 子shell
21. 受限shell
22. 进程替换
23. 函数
23.1. 复杂函数和函数复杂性
23.2. 局部变量
23.3. 不使用局部变量的递归
24. 别名
25. 列表结构
26. 数组
27. /dev和/proc
27.1. /dev
27.2. /proc
28. Zero与Null
29. 调试
30. 选项
31. 陷阱
32. 脚本编程风格
32.1. 非官方的Shell脚本编写风格
33. 杂项
33.1. 交互与非交互式的交互与非交互式的shell和脚本
33.2. Shell包装
33.3. 测试和比较: 一种可选的方法
33.4. 递归
33.5. 将脚本"彩色化"
33.6. 优化
33.7. 各种小技巧
33.8. 安全问题
33.9. 可移植性问题
33.10. Windows下的shell脚本
34. Bash, 版本2与版本3
34.1. Bash, 版本2
34.2. Bash, 版本3
35. 后记
35.1. 作者后记
35.2. 关于作者
35.3. 译者后记
35.3.1. 杨春敏
35.3.2. 黄毅
35.4. 在哪里可以获得帮助
35.5. 用来制作这本书的工具
35.5.1. 硬件
35.5.2. 软件与排版软件
35.6. 致谢
35.7. 译者致谢