Shell脚本学习指南
Shell脚本学习指南
Arnold Robbins, Nelson H. F. Beebe
O'Reilly Taiwan公司 编译
出版时间:2009年04月
页数:494
Shell脚本编程(scripting)的技巧永远不会过时:它们可以让UNIX充分发挥其真实的潜能。对UNIX的用户与系统管理者而言,编写Shell脚本是必须的工作,它可以让你快速地控制与定制任何UNIX系统的强大功能。有了Shell脚本,你可以结合基本的UNIX文本与文件处理命令来消化数据,以及自动化重复的工作。一旦你对Shell脚本的编写掌控自如,在接下来的几年,这些技巧将对你相当有帮助。

编写Shell脚本所需要的不只是对Shell语言的认识,还必须熟知单个的UNIX程序:你必须知道每个程序为什么会放在那儿,以及如何使用该程序或如何将其与其他程序结合。本书将告诉你这些有关 UNIX主流工具的知识。除此之外,本书还会帮助你解决UNIX命令与标准的差异。

作者熟知UNIX程序使用的基本技巧与操作上细微的差异。他们不但会告诉你如何构建一个绝佳的脚本,还会教你如何避免落入让你功亏一篑的陷阱。有了本书,你可以节省很多力气。

我们要学习的不只是如何写出有用的Shell脚本,你还得了解如何迅速、确实地定制Shell,让程序的可移植性达到最佳状态,脱离对特定系统的依赖。这些技巧对任何操作与维护UNIX及Linux系统的人而言都很重要。本书所提供的知识,将可以帮助你掌握基本的Shell脚本编写技巧。
  1. 前言
  2. 第1章 背景知识
  3. 1.1 UNIX简史
  4. 1.2 软件工具的原则
  5. 1.3 小结
  6. 第2章 入门
  7. 2.1 脚本编程语言与编译型语言的差异
  8. 2.2 为什么要使用Shell脚本
  9. 2.3 一个简单的脚本
  10. 2.4 自给自足的脚本:位于第一行的#!
  11. 2.5 Shell的基本元素
  12. 2.6 访问Shell脚本的参数
  13. 2.7 简单的执行跟踪
  14. 2.8 国际化与本地化
  15. 2.9 小结
  16. 第3章 查找与替换
  17. 3.1 查找文本
  18. 3.2 正则表达式
  19. 3.3 字段处理
  20. 3.4 小结
  21. 第4章 文本处理工具
  22. 4.1 排序文本
  23. 4.2 删除重复
  24. 4.3 重新格式化段落
  25. 4.4 计算行数、字数以及字符数
  26. 4.5 打印
  27. 4.6 提取开头或结尾数行
  28. 4.7 小结
  29. 第5章 管道的神奇魔力
  30. 5.1 从结构化文本文件中提取数据
  31. 5.2 针对Web的结构型数据
  32. 5.3 文字解谜好帮手
  33. 5.4 单词列表
  34. 5.5 标签列表
  35. 5.6 小结
  36. 第6章 变量、判断、重复动作
  37. 6.1 变量与算术
  38. 6.2 退出状态
  39. 6.3 case 语句
  40. 6.4 循环
  41. 6.5 函数
  42. 6.6 小结
  43. 第7章 输入/输出、文件与命令执行
  44. 7.1 标准输入、标准输出与标准错误输出
  45. 7.2 使用read读取行
  46. 7.3 关于重定向
  47. 7.4 printf的完整介绍
  48. 7.5 波浪号展开与通配符
  49. 7.6 命令替换
  50. 7.7 引用
  51. 7.8 执行顺序与eval
  52. 7.9 内建命令
  53. 7.10 小结
  54. 第8章 产生脚本
  55. 8.1 路径查找
  56. 8.2 软件构建自动化
  57. 8.3 小结
  58. 第9章 awk的惊人表现
  59. 9.1 awk命令行
  60. 9.2 awk程序模型
  61. 9.3 程序元素
  62. 9.4 记录与字段
  63. 9.5 模式与操作
  64. 9.6 在awk里的单行程序
  65. 9.7 语句
  66. 9.8 用户定义函数
  67. 9.9 字符串函数
  68. 9.10 数值函数
  69. 9.11 小结
  70. 第10章 文件处理
  71. 10.1 列出文件
  72. 10.2 使用touch更新修改时间
  73. 10.3 临时性文件的建立与使用
  74. 10.4 寻找文件
  75. 10.5 执行命令:xargs
  76. 10.6 文件系统的空间信息
  77. 10.7 比较文件
  78. 10.8 小结
  79. 第11章 扩展实例:合并用户数据库
  80. 11.1 问题描述
  81. 11.2 密码文件
  82. 11.3 合并密码文件
  83. 11.4 改变文件所有权
  84. 11.5 其他真实世界的议题
  85. 11.6 小结
  86. 第12章 拼写检查
  87. 12.1 spell程序
  88. 12.2 最初的UNIX拼写检查原型
  89. 12.3 改良的ispell与aspell
  90. 12.4 在awk内的拼写检查程序
  91. 12.5 小结
  92. 第13章 进程
  93. 13.1 进程建立
  94. 13.2 进程列表
  95. 13.3 进程控制与删除
  96. 13.4 进程系统调用的追踪
  97. 13.5 进程账
  98. 13.6 延迟的进程调度
  99. 13.7 /proc文件系统
  100. 13.8 小结
  101. 第14章 Shell可移植性议题与扩展
  102. 14.1 迷思
  103. 14.2 bash的shopt命令
  104. 14.3 共通的扩展
  105. 14.4 下载信息
  106. 14.5 其他扩展的Bourne式Shell
  107. 14.6 Shell版本
  108. 14.7 Shell初始化与终止
  109. 14.8 小结
  110. 第15章 安全的Shell脚本:起点
  111. 15.1 安全性Shell脚本提示
  112. 15.2 限制性Shell
  113. 15.3 特洛伊木马
  114. 15.4 为Shell脚本设置setuid:坏主意
  115. 15.5 ksh93与特权模式
  116. 15.6 小结
  117. 附录A 编写手册页
  118. 附录B 文件与文件系统
  119. 附录C 重要的UNIX命令
  120. 参考书目
书名:Shell脚本学习指南
译者:O'Reilly Taiwan公司 编译
国内出版社:机械工业出版社
出版时间:2009年04月
页数:494
书号:978-7-111-25504-8
原版书出版商:O'Reilly Media
Arnold Robbins
 
Arnold Robbins,一个亚特兰大本地人,是一个专业的程序员和技术作家。他从1980年开始使用于UNIX系统,当时他被介绍去用一台PDP-11电脑运行第六版的UNIX。从1987年以后他成为一个复杂AWK的用户,当时他涉及了gawk,一个GNU项目的AWK版本。他现在是gawk和它的文档的维护者。他和O’Reilly合作了《Learning the vi》和《Vim Editors》两本书。从1997年后期开始,他和他的家人快乐地生活在以色列。
 
 
Nelson H. F. Beebe
 
Nelson H. F. Beebe是犹他大学数学系研究所教授,具有化学、物理、数学、电子计算机科学以及计算工具管理等后台。他曾在几个主要制造商的计算机上工作过许多年。他总是会在个人计算机中为每种UNIX打分。他是许多程序语言(包括awk)、浮点算术、软件可移植性、科学软件与计算机图形的专家,而且长期从事在早期UNIX时代的电子文件与排版。
 
 
我们的外观是取自于读者建议、我们自己的经验及经销商的回馈。与众不同的封面结合我们对技术主题特有的表现方式,将个性与生活融入较为艰涩的主题。
本书的动物封面是非洲的帐蓬陆龟(Psammobates tentorius),其龟甲呈现几何形状。Psammobates的含义是“热爱沙地”,其栖息地包括干燥的草原、沙漠边缘及沿海沙地,属于典型的干燥炎热气候。所以帐蓬陆龟只能在南非的草原与沙漠外围找到,这一点也不令人惊讶。这种类型的所有品种都是小型的,大小约从5英寸到10英寸,而且在它们的甲壳上有黄色放射型的标记。帐蓬陆龟特别突出的特征是具有拱起的龟甲。
陆龟以它们的长寿出名,而且乌龟与陆龟也是今日最古老的物种。它们在2亿年前的恐龙时代就已存在。所有的龟类都依赖温度,也就是它们只在温度不是太极端时才吃东西。在酷暑与寒冬期间,陆龟会冬眠且群体停止进食。在春天,陆龟的食物包括多汁植物、纤维植物及牧草。