标题：Unix Shell 编程（第三版）
基本信息
书名:Unix Shell 编程(第三版) 
ISBN:711305821 
作者:Stephen G.Kochan Patrick Wood( 同作?咦髌? ) 
出版社:中国铁道出版社 
定价:40 
页数:361 
出版日期:2004-4-1 
版次: 1
开本:16开 
包装:精装
简介
本书是UnixShell编程方面的经典书籍。第3版以Unix Shell的最新POSIX标准Shell为主线，同时，在必要的情况下，及时指出与其他流行Shell的区别，因此，本书对其他版本Shell的编程也具有重要的借鉴意义。
本书的特点：
前后衔接：循序渐进
本书的特点之一是：虽然是按主题组织介绍。但各主题之间并非彼此独立。后面的主题经常使用到前面讲到过的知识。因此给人以非常深刻的渐进和整体的感觉。
简易明了的举例说明
本书最大的特点是举例说明。书中没有长篇的概念描述，而是在简单介绍后举出适当的例子，简易明了。例子的后面，经常有一些针对要点的说明，比如，为什么用某一条命令，输出结果为什么是这样，或者解释程序的结构或执行顺序等，可以帮助读者加深理解。
·本书以POSIX标准Shell为讲解对象，介绍了用Unix Shell编写程序所涉及到的方方面面。包括Unix基本命令、Shell编程要用到的主要工具、Shell程序的基本内容以及子Shell编程中的高级特性。
·一个程序有多种实现方法，本书分别采用不同的编程方法实现同一功能，读者通过研究不断改进的程序范例，不但可以学到相关的编程技巧，更可以学到编写Shell程序的思想和方法。
·本书译者袁科萍老师曾在美国纽约大学作为客座教授，从事计算机科学的教学和研究工作多年，樊庆红是计算机专业开发人员，有多年从事大型软件项目的开发和管理经验。
·本书除了对有一定Unix实践经验，并希望进一步提高的人有很大帮助以外；对Unix初学者和打算学习Unix的人而言也是不错的选择。
目录
第1章 概述
第2章 基础知识快速回顾
2-1 一些基本命令
2-1-1 显示时间和日期：date命令
2-1-2 查看登录系统的用户：who命令
2-1-3 显示字符：echo命令
2-2 文件操作
2-2-1 列出文件清单：ls命令
2-2-2 显示文件内容：cat命令
2-2-3 统计文件中的单词数：WC命令
2-2-4 命令选项
2-2-5 复制文件：cp命令
2-2-6 文件重命名：mv命令
2-2-7 删除文件：rm命令
2-3 目录操作
2-3-1 宿主目录和路径名
2-3-2 显示工作目录：pwd命令
2-3-3 改变当前工作目录：cd命令
2-3-4 进一步讨论ls命令
2-3-5 创建目录：mkdir命令
2-3-6 在目录之间复制文件
2-3-7 在目录之间移动文件
2-3-8 链接文件：ln命令
2-3-9 删除目录：rmdir命令
2-4 文件名替换
2-4-1 星号
2-4-2 单字符匹配
2-5 标准输入/输出以及输入/输出重定向
2-5-1 标准输入和标准输出
2-5-2 输出重定向
2-5-3 输入重定向
2-6 管道
2-7 标准错误
2-8 有关命令的深入讨论
2-8-1 一行键入多条命令
2-8-2 命令发送到后台
2-8-3 ps命令
2-9 命令小结
2-10 练习
第3章 什么是Shell
3-1 内核和实用程序
3-2 登录Shell
3-3 向Shell键入命令
3-4 Shell的职责
3-4-1 执行程序
3-4-2 变量和文件名的替换
3-4-3 I/O重定向
3-4-4 管道线连接
3-4-5 环境控制
3-4-6 解释型程序设计语言
第4章 工具
4-1 正规表达式
4-1-1 匹配任何字符：句点 .
4-1-2 匹配行首：^符号
4-1-3 匹配文件尾：美元符号 $
4-1-4 匹配字符组之一：[…]结构
4-1-5 匹配零或若干个字符：星号 *
4-1-6 匹配精确数目的字符串：\ …\
4-1-7 保存匹配的字符串：\ …\
4-2 cut
4-3 paste
4-3-1 -d选项
4-3-2 -s选项
4-4 sed
4-4-1 -n选项
4-4-2 删除行
4-5 tr
4-5-1 -s选项
4-5-2 -d选项
4-6 grep
4-6-1 grep与正规表达式
4-6-2 -v选项
4-6-3 -1选项
4-6-4 -n选项
4-7 sort
4-7-1 -u选项
4-7-2 -r选项
4-7-3 -o选项
4-7-4 -n选项
4-7-5 跳过字段
4-7-6 -t选项
4-7-7 其他选项
4-8 uniq
4-8-1 -d选项
4-8-2 其他选项
4-9 练习
第5章 Shell编程初步
5-1 命令文件
5-2 变量
5-2-1 示变量的值
5-2-2 空值
5-2-3 文件名替换和变量
5-2-4 $ variable 结构
5-3 内部的整数算术运算
5-4 练习
第6章 引用
6-1 单引号
6-2 双引号
6-3 反斜杠
6-3-1 用反斜杠续行
6-3-2 双引号中的反斜杠
6-4 命令替换
6-4-1 反引号
6-4-2 $ … 结构
6-4-3 expr命令
6-5 练习
第7章 参数传递
7-1 $#变量
7-2 铲变量
7-3 在电话簿中查找某个人的程序
7-4 向电话簿中增加某人的程序
7-5 从电话簿中去掉某个人的程序
7-6 $ n
7-7 shift命令
7-8 练习
第8章 判断
8-1 退出状态
8-1-1 $ 变量
8-2 test命令
8-2-1 字符串操作符
8-2-2 test的另一种格式
8-2-3 整数操作符
8-2-4 文件操作符
8-2-5 逻辑非操作符1
8-2-6 逻辑与操作符-a
8-2-7 小括号
8-2-8 逻辑或操作符-o
8-3 else结构
8-4 exit命令
8-5 elif结构
8-6 case命令
8-6-1 特殊模式匹配字符
8-6-2 调试程序用的-x选项
8-6-3 再回到case
8-7 空命令
8-8 &&和‖结构
8-9 练习
第9章 循环
9-1 for命令
9-1-1 $@变量
9-1-2 不带列表的for命令
9-2 while命令
9-3 until命令
9-4 进一步讨论循环
9-4-1 中断循环
9-4-2 跳过循环中的后续命令
9-4-3 在后台执行循环
9-4-4 循环中的输入/输出重定向
9-4-5 通过管道向循环输入数据或接受循环的输出数据
9-4-6 在单行中键入循环命令
9-5 Getopts命令
9-6 练习
第10章 数据的读入和显示
10-1 read命令
10-1-1 复制文件的程序
10-1-2 echo中的特殊转义符
10-1-3 mycp的改进版本
10-1-4 mycp的最终版本
10-1-5 菜单驱动的电话簿程序
10-1-6 $$变量和临时文件
10-1-7 read的退出状态
10-2 printf命令
10-3 练习
第11章 环境
11-1 局部变量
11-2 导出变量
11-3 PS1和PS2
11-4 HOME, James
11-5 PATH
11-6 当前目录
11-7 再谈子shell
11-7-1 命令
11-7-2 exec命令
11-7-3
… 和 …, 结构
11-7-4 给子shell传递变量的另一种方法
11-8 . profile文件
11-9 TERM变量
11-10 TZ变量
11-11 练习
第12章 深入参数
12-1 参数替换
12-1-1 $ Farameter
12-1-2 S parameter：-value
12-1-3 S parameter：=value
12-1-4 S parameter： value
12-1-5 S parameter： value
12-2 模式匹配结构
12-3 $0变量
12-4 set命令
12-4-1 -x选项
12-4-2 没有参数的set命令
12-4-3 用set命令重新设置位置参数
12-4-4 -选项
12-4-5 set的其他选项
12-5 IFS变量
12-6 readonly命令
12-7 unset命令
12-8 练习
第13章 杂项
13-1 eval命令
13-2 wait命令
13-3 trap命令
13-3-1 无参数trap
13-3-2 忽略信号
13-3-3 复位陷阱
13-4 深入I/0
13-4-1 <&-和>&-
13-4-2 内联输入重定向
13-4-3 shell档案文件
13-5 函数
13-5-1 去除函数定义
13-5-2 retum命令
13-6 type命令
13-7 练习
第14章 再谈Rolo程序
14-1 设计思想
14-1-1 rolo
14-1-2 add
14-1-3 lu
14-1-4 display
14-1-5 rem
14-1-6 change
14-1-7 listall
14-2 示例输出
14-3 练习
第15章 shell的交互和非标准特性
15-1 得到合适的shell
15-2 ENV文件
15-3 命令行编辑
15-4 命令历史记录
15-5 Vi行编辑模式
15-6 emacs行编辑模式
15-7 访问历史记录的其他方式
15-7-1 history命令
15-7-2 fc命令
15-7-3 r命令
15-8 函数
15-8-1 局部变量
15-8-2 自动装载函数
15-9 整数算术操作
15-9-1 整型类型
15-9-2 不同进制的数字
15-10 alias命令
15-11 数组
15-12 作业控制
15-13 受限shellrsh
15-14 其他杂项特性
15-14-1 cd命令的其他特性
15-14-2 代字符替换
15-14-3 搜索顺序
15-15 兼容性总结
15-16 练习
附录A shell总结
A-1 启动
A-2 命令
A-3 注释
A-4 参数和变量
A-4-1 shell变量
A-4-2 位置参数
A-4-3 特殊参数
A-4-4 参数替换
A-5 命令重返
A-5-1 fc命令
A-5-2 vi行编辑模式
A-6 引用
A-6-1 代字符替换
A-6-2 算术表达式
A-7 文件名替换
A-8 输入/输出重定向
A-9 导出变量和子shell执行
A-9-1
… 结构
A-9-2
…, 结构
A-9-3 深入shell变量
A-10 函数
A-11 作业控制
A-11-1 shell作业
A-11-2 停止作业
A-12 命令总结
A-12-1 ：命令
A-12-2 . 命令
A-12-3 alias命令
A-12-4 bg命令
A-12-5 break命令
A-12-6 case命令
A-12-7 cd命令
A-12-8 continue命令
A-12-9 echo命令
A-12-10 eval命令
A-12-11 exec命令
A-12-12 exit命令
A-12-13 export命令
A-12-14 false命令
A-12-15 fc命令
A-12-16 f2命令
A-12-17 for命令
A-12-18 getopts命令
A-12-19 hash命令
A-12-20 if命令
A-12-21 iobs命令
A-12-22 kill命令
A-12-23 newgrp命令
A-12-24 pwd命令
A-12-25 read命令
A-12-26 readonly命令
A-12-27 return命令
A-12-28 set命令
A-12-29 shift命令
A-12-30 test命令
A-12-31 times命令
A-12-32 trap命令
A-12-33 true命令
A-12-34 type命令
A-12-35 umask命令
A-12-36 unalias命令
A-12-37 unset命令
A-12-38 until命令
A-12-39 wait命令
A-12-40 while命令
附录B 补充信息
B-1 联机文档
B-2 Web上的文档
B-3 书籍
B-3-1 O''Reillv&Associates
B-3-2 Sams and Que
B-3-3 其他出版物