11.7 参考资料与延伸阅读

2002/07/29:第一次完成; 2003/02/10:重新编排与加入 FAQ ; 2005/01/28:重新汇整基础正则表达式的内容!重点在 regular_express.txt 的处理与练习上! 2005/03/30:修订了 grep -n 'goo*g' regular_express.txt 这一段 2005/05/23:修订了 grep -n '^[a-z]' regular_express.txt 所要撷取的是小写,之前写成大写,错了! 2005/08/22:加入了 awk, sed 等工具的介绍,还有 diff 与 cmp 等指令的说明! 2005/09/05:加入 printf 内,关于 \xNN 的说明! 2006/03/10:将原本的 sed 内的动作(action)中, s 由“搜寻”改成“取代”了! 2006/10/05:在 sed 当中多了一个 -i 的参数说明,也多了一个范例八可以参考。感谢讨论区的thyme兄! 2008/10/08:加入 grep 内的 --color=auto 说明! 2009/02/07:将旧的基于 FC4 版本的文章移动到此处 2009/02/10:重新排版,并且加入语系的说明,以及特殊 [:数据:] 的说明!更改不少范例的说明。 2009/05/14:感谢网友 Jack 的回报, cmp 应该是使用“字节 Bytes”而非位 bits,感谢 Jack 兄。 2009/08/26:加入情境仿真题目了! 2010/04/16:由linux_task兄提供的意见, 将原本的 * 说明订正一些部分,可读性较佳!感谢您! 2015/07/10:将旧的基于 CentOS 5.x 的版本移动到 这里了! 2015/07/14:大部分改以一般帐号的身份来操作系统了!不过改动的幅度不大!

下一节:什么是 shell script (程序化脚本) 呢?就字面上的意义,我们将他分为两部份。 在“ shell ”部分,我们在 十章的 BASH 当中已经提过了,那是一个命令行下面让我们与系统沟通的一个工具接口。那么“ script ”是啥? 字面上的意义, script 是“脚本、剧本”的意思。整句话是说, shell script 是针对 shell 所写的“剧本!”

什么东西啊?其实, shell script 是利用 shell 的功能所写的一个“程序 (program)”,这个程序是使用纯文本文件,将一些 shell 的语法与指令(含外部指令)写在里面, 搭配正则表达式、管线命令与数据流重导向等功能,以达到我们所想要的处理目的。

所以,简单的说, shell script 就像是早期 DOS 年代的批处理文件 (.bat) ,最简单的功能就是将许多指令汇整写在一起, 让使用者很轻易的就能够 one touch 的方法去处理复杂的动作 (执行一个文件 "shell script" ,就能够一次执行多个指令)。 而且 shell script 更提供阵列、循环、条件与逻辑判断等重要功能,让使用者也可以直接以 shell 来撰写程序,而不必使用类似 C 程序语言等传统程序撰写的语法呢!

这么说你可以了解了吗?是的! shell script 可以简单的被看成是批处理文件, 也可以被说成是一个程序语言,且这个程序语言由于都是利用 shell 与相关工具指令, 所以不需要编译即可执行,且拥有不错的除错 (debug) 工具,所以,他可以帮助系统管理员快速的管理好主机。