第1章 脚本编程快速入门和概述 1
1.1 区分大小写 1
1.2 UNIX特殊字符 1
1.3 shell 1
1.4 shell脚本 1
1.5 函数 2
1.6 运行shell脚本 2
1.7 shell脚本中的注释和风格 3
1.8 控制结构 4
1.9 使用break、continue、exit和return语句 6
1.10 here文档 7
1.11 shell脚本命令 7
1.12 符号命令 9
1.13 变量 9
1.14 命令行参数 10
1.15 shift命令 10
1.16 特殊参数$*和$@ 11
1.17 双引号”、符号和 12
1.18 shell脚本中的数学运算 12
1.19 内置的数学函数 13
1.20 文件权限、suid和sgid程序 13
1.21 在远程主机上运行命令 15
1.22 设置陷阱 15
1.23 用户信息命令 16
1.24 ps命令 17
1.25 与用户通信 17
1.26 为方便测试,大写或小写文本 17
1.27 检查返回代码 18
1.28 基于时间的脚本的运行 19
1.29 输出控制 20
1.30 捕获延迟的命令输出 24
1.31 逐行处理文件的最快方式 24
1.32 邮件通知技术 25
1.33 创建进度指示器 25
1.34 创建伪随机数 27
1.35 检查AIX中的失效磁盘分区 27
1.36 自动进行主机ping测试 27
1.37 高亮显示文件中的特定文本 28
1.38 使打印机一直打印 28
1.39 自动进行FTP文件传输 29
1.40 捕获大于$MEG的文件列表 29
1.41 捕获用户的击键操作 29
1.42 使用bc实用工具来进行浮点数学运算 30
1.43 数基转换 30
1.44 使用select命令创建菜单 31
1.45 发送弹出消息到Windows 32
1.46 删除文件中的重复行 32
1.47 删除文件中的空白行 32
1.48 测试NULL变量 33
1.49 直接访问上一个位置参数$#的值 33
1.50 删除命令输出中的列标题 33
1.51 数组 34
1.52 测试字符串 35
1.53 小结 38
第2章 逐行处理文件的12种方式 39
2.1 命令语法 39
2.2 12种逐行处理文件的方法 41
2.3 对各种方法进行计时测试 49
2.4 小结 58
第3章 自动事件通知 59
3.1 自动事件通知的基础 59
3.2 外发邮件的问题 60
3.3 拨号调制解调器软件 62
3.4 SNMP陷阱 63
3.5 小结 64
第4章 进度指示器 65
4.1 使用一系列圆点来指示进度 65
4.2 使用一条旋转线来指示进度 66
4.3 创建一个倒计数指示器 68
4.4 其他要考虑的选项 71
4.5 小结 72
第5章 文件系统监视 73
5.1 本章要点 73
5.2 语法 73
5.3 加入额外的监视功能 77
5.4 使用剩余空间方法 83
5.5 使用带额外功能的剩余空间方法 85
5.6 已用空间百分比—剩余空间和大型文件系统 89
5.7 运行于AIX、Linux、HP-UX和Solaris上 97
5.8 其他要考虑的选项 109
5.9 小结 110
第6章 监视页面调度和交换空间 111
6.1 命令语法 112
6.2 创建shell脚本 114
6.3 其他要考虑的选项 135
6.4 小结 136
第7章 监视系统负载 137
7.1 语法 137
7.2 解决方案的脚本编制工作 148
7.3 其他要考虑的选项 163
7.4 小结 164
第8章 进程监视与启用进程启动前、启动时和进程停止后事件 165
8.1 语法 165
8.2 监视进程的启动 166
8.3 监视进程的结束 167
8.4 当进程启动和停止时进行监视和记录 171
8.5 定时执行进程监视、显示每个进程的PID、为事件打上时间戳和定时功能 175
8.6 其他要考虑的选项 191
8.7 小结 192
第9章 监视进程和应用程序 193
9.1 监视本地进程 193
9.2 使用Secure Shell的远程监视 195
9.3 其他要考虑的内容 200
9.4 小结 200
第10章 创建伪随机密码 201
10.1 随机性 201
10.2 创建伪随机密码 201
10.3 语法 202
10.4 建立密码创建脚本 203
10.5 其他要考虑的选项 224
10.6 小结 225
第11章 监视陈旧的磁盘分区 226
11.1 AIX逻辑卷管理器 226
11.2 命令和方法 227
11.3 其他要考虑的选项 240
11.4 小结 241
第12章 带通告的自动主机ping测试 242
12.1 语法 242
12.2 创建shell脚本 243
12.3 其他要考虑的选项 252
12.4 小结 254
第13章 获取系统快照 255
13.1 语法 255
13.2 创建shell脚本 257
13.3 其他要考虑的选项 279
13.4 小结 279
第14章 编译、安装、配置和使用sudo 280
14.1 sudo的需求 280
14.2 下载并编译sudo 280
14.3 编译sudo 281
14.4 配置sudo 286
14.5 使用sudo 292
14.6 在shell脚本中使用sudo 292
14.7 sudo日志文件 295
14.8 小结 296
第15章 hgrep:高亮显示的grep脚本 297
15.1 反白显示控制 297
15.2 建立hgrep.ksh shell脚本 298
15.3 其他要考虑的选项 304
15.4 小结 305
第16章 挣脱打印队列炼狱:保证打印机持续打印 306
16.1 System V与BSD打印子系统的比较 306
16.2 组装所有的脚本 327
16.3 其他要考虑的选项 333
16.4 小结 334
第17章 自动FTP处理 335
17.1 语法 335
17.2 自动文件传输和远程目录列表 337
17.3 其他要考虑的选项 351
17.4 小结 352
第18章 查找“大”文件 353
18.1 语法 353
18.2 创建脚本 354
18.3 其他要考虑的选项 358
18.4 小结 359
第19章 监视和审核用户按键 360
19.1 语法 360
19.2 脚本解决方案 361
19.3 其他要考虑的选项 373
19.4 小结 374
第20章 打开和关闭SSA识别指示灯 376
20.1 语法 376
20.2 脚本编程过程 377
20.3 其他要考虑的选项 395
20.4 小结 396
第21章 伪随机数的产生 397
21.1 如何生成一个随机数 397
21.2 方法 397
21.3 创建伪随机数的shell脚本 402
21.4 创建惟一的文件名 406
21.5 小结 412
第22章 浮点数学运算和bc工具程序 413
22.1 语法 413
22.2 使用bc创建一些shell脚本 413
22.3 其他要考虑的选项 442
22.4 小结 443
第23章 数制转换 444
23.1 语法 444
23.2 解决方案的脚本编程 445
23.3 其他要考虑的选项 462
23.4 小结 462
第24章 适合操作员的菜单程序 463
24.1 反白显示的语法 463
24.2 其他要考虑的选项 469
24.3 小结 470
第25章 从UNIX向Windows发送弹出式消息 471
25.1 Samba和smbclient命令介绍 471
25.2 语法 472
25.3 创建broadcast.ksh shell脚本 472
25.4 下载并安装Samba 488
25.5 其他要考虑的选项 490
25.6 小结 491
附录A Web网站上的内容 492