《Shell脚本学习指南》第一章 背景知识


1.1 Unix简史

Unix第一版诞生于1970年,也就是贝尔实验室退出Multics项目不久。

在Unix广受欢迎的功能中,有许多是来自Multics操作系统。
其中最著名的有:将设备视为文件,以及特意不将命令解释器或Shell整合到操作系统中。

简单、务实、优雅
Unix是在面向研究的环境下开发的,因而没有必要生产或销售成品的盈利压力。
系统由用户自行开发,即用户就是开发人员。他们都是计算机科学家,分享给同样是计算机科学家的
同事,因此衍生出“务实”的设计模式。他们在精益求精的同时,不断追求“优雅” - 简单就是力量。


1.2 软件工具的原则

一次做好一件事
这个原则的结果自然就是会不断产生出更小、更专用于特定功能的程序。

处理文本行,不要处理二进制
文本行可以用任何文本编辑器来编辑,也可以在网络与各种机器架构之间传输。
二进制是平台相关的。

使用正则表达式
使用正则表达式能简化命令脚本的工作。
POSIX标准提供两种正则表达式:BRE(与grep一致的正则表达式)和ERE(与egrep一致的)。

默认使用标准输入/输出
在未明确指定文件名时,程序默认从标准输入读取数据,将数据写到标准输出。
这样可以轻松地让它们成为数据过滤器,组成复杂的管道或脚本。

避免喋喋不休
不要将“开始处理”,“即将完成”,“处理完成”这类信息放进程序的标准输出。
将这样的信息送往管道,别指望执行结果会像预期的一样。在工具程序的世界里,
没有消息就是好消息。

让工具去做困难的部分
虽然Unix程序并非完全符合你的需求,但是现有的工具或许可以为你完成90%的工作。
接下来可以编写一个功能特定的小型程序来完成剩下的工作。


1.3 小结

Unix没有盈利上的压力,再加上PDP-11小型计算机的能力有限,因而程序都以小型、优雅为圭臬。






你可能感兴趣的:(shell脚本)