第1部分 基本脚本编程技术
第1章 shell脚本的错误检测
1.1 shell跟踪选项
1.2 简单输出语句
1.3 根据调试层次控制输出
1.4 用函数简化错误检查
1.5 手动单步执行
第2章 标准函数库
2.1 库文件
2.2 一些有用的函数
2.3 使用库
第3章 日期和时间操作
3.1 用天数来计算日期
3.1.1 自从纪元以来的天数
3.1.2 以秒计算日期的其他方法
3.2 评估当前日期和时间
第4章 比较和测试
比较的基本原理
第5章 接受命令行选项、开关和参数
第6章 测试变量和设置默认值
6.1 设置默认值
6.2 变量替换
6.2.1 :=句法
6.2.2 =句法
6.2.3 :-句法
6.2.4 -句法
6.2.5 :?句法
6.2.6 ?句法
6.2.7 :+句法
6.2.8 +句法
第7章 非直接引用变量
7.1 用非直接变量监控日志文件
7.2 主监控循环
第8章 shell进程树
8.1 用数组实现进程树
8.2 用非直接变量实现进程树
8.3 用Bourneshell实现进程树
第9章 数据重定向
9.1 避免错误
9.2 普通重定向
9.3 访问用户指定的文件句柄
9.4 从shell中访问描述符
第10章 管道输入读
10.1 逐行选项1
10.2 逐行选项2
10.3 逐行选项3
10.4 逐行选项4
10.5 直接管道读
10.6 逐字处理输入
第2部分 系统交互与高级技术
第11章 shell中的数学
11.1 expr
11.2 bc
11.3 de
第12章 cron
12.1 crontab条目
12.2 环境问题
12.3 输出重定向
第13章 自链接脚本
第14章 对并行进程的数量控制
14.1 用ksh实现并行进程
14.2 用bash实现并行进程
第15章 命令行编辑和历史命令
15.1 建立vi编辑环境
15.1.1 bash
15.1.2 ksh
15.2 命令和文件补全
第16章 从命令行编写脚本
例子
第17章 用expect实现用户输出自动化
17.1 为expect脚本定制参数的shell脚本
17.2 让telnet的expect脚本自动执行
第18章 用户输入超时
18.1 手动实现超时
18.2 使用stty实现超时
18.3 一般的超时功能
第19章 即时键盘响应
第20章 目录的复制
20.1 使用cp
20.2 使用tar
20.3 使用find
20.4 使用。rsync
第21章 X显示环境概述
21.1 display变量
21.2 使用ssh处理X流量
21.3 通过第三方系统的X应用
21.4 用户-Profile项
21.5 根-Profile项
21.6 弹出一个临时的根窗口
第22章 X导航窗口
22.1 导航窗口的作用
22.2 建立导航
22.3 浏览窗口
第23章 命令行电子邮件附件
23.1 uuencode
23.2 MIME编码
第24章 单行文本处理
24.1 显示特殊域
24.2 指定域分隔符
24.3 简单的模式匹配
24.4 几个值的匹配域
24.5 确定域的数目
24.6 确定最后一个域
24.7 确定倒数第二个域
24.8 给awk传送变量
24.9 在一定条件下使用给awk传送的变量
24.10 显示域的范围(主要方法)
24.11 显示域的范围(备选方法)
24.12 使用awk确定串的长度
24.13 使用expr确定串的长度
24.14 使用awk显示一个子串
24.15 使用expr显示一个子串
24.16 使用sed进行简单的查找和替换
24.17 忽略文件中的空行和注释行
24.18 使用sed进行双查找和替换
24.19 使用sed过滤行
24.20 使用egrep查找多个串
24.21 查找进程表的一个清理方法
24.22 使用awk进行列求和计算
24.23 使用awk产生随机数字
24.24 从shell中产生随机数字
24.25 使用sed显示基于字符的域
24.26 特殊字符转义
24.27 使用grep从一个模式匹配中返回末尾行
24.28 使用grep返回模式匹配之前的行
第25章 在适当的位置编辑文件
25.1 使用ed进行简单的查找和替换
25.2 使用ed查找和替换、分割
25.3 ed命令的例子
25.4 对一个文件中的特殊字符转义
第26章 平面文件中的变量赋值
第27章 读取管道输入
第28章 使用cat的自由格式输出
第29章 自动交互处理
第3部分 有用的脚本实例
第30章 使用procmail自动处理邮件
30.1.procmailrc文件
30.2 使用示例
30.3 代码
第31章 进程管理监视器
第32章 管理文件的计数
32.1 文件计数监视器
32.2 测试文件数目的计算方法
第33章 从inittab执行进程
第34章 自动RCS
第35章 带颜色的/proc报告
第36章 口令老化通知
36.1 脚本初始化
36.2 开始处理
36.3 确定口令年龄
第37章 伪shadow文件
第38章 搭建Linux金系统
第39章 系统快照
39.1 快照脚本
39.2 快照升级
39.3 创建最新快照
39.4 最后的想法
第40章 删除大文件和日志滚动
第41章 核心探测器
第42章 网络适配器故障转移
42.1 检查网络
42.2 转换接口
附录A 测试开关
附录B 特殊参数
附录C shell脚本编程的其他资源
C.1 手册
C.2 图书
C.2.1 脚本编程图书
C.2.2 补充图书
C.3 shell资源
C.4.网络资源