zoukankan      html  css  js  c++  java
  • 《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小型计算机的能力有限,因而程序都以小型、优雅为圭臬。






  • 相关阅读:
    容器与线程--更新
    js生成元素的事件不执行问题
    Webpack 笔记
    思考题——爬楼梯
    正则表达式笔记
    github + travis 自动构建 vue 项目到 gitpage
    css3 动画 vs js 动画
    深度哲学对工作的启发
    yml 文件操作方法
    布尔变量在项目中的应用
  • 原文地址:https://www.cnblogs.com/xiaomaohai/p/6157880.html
Copyright © 2011-2022 走看看