迭代器和生成器
当我在自己的程序中发现用到了模式,我觉得这就表明某个地方出错了。程序的形式应该仅仅反映它所要解决的问题。代码中其他任何外加的形式都是一个信号,(至少对我来说)表明我对问题的抽象还不够深——这通常意味着自己正在手动完成的事情,本应该通过写代码来让宏的扩展自动实现 — Paul Graham
当我在自己的程序中发现用到了模式,我觉得这就表明某个地方出错了。程序的形式应该仅仅反映它所要解决的问题。代码中其他任何外加的形式都是一个信号,(至少对我来说)表明我对问题的抽象还不够深——这通常意味着自己正在手动完成的事情,本应该通过写代码来让宏的扩展自动实现 — Paul Graham
数组与算数运算

本节我们来学习 bash shell 编程的第四部分内容数组与算数运算。
数组和字典是编程中非常常用的数据结构,但是 bash 对它们支持都比较有限。原因我们在本章第一节就说过,bash 本质上并不能算一种语言,因此也很少被拿来做复杂的编程。它更适合利用 Linux 中已有的命令完成特定功能。所以 bash 对复杂数据结构的支持很有限。bash 4.0 之后才开始支持字典,默认也只支持一维数组。下面我们将通过数组的声明,赋值和引用来讲解数组的使用。
本章将讨论:
Python 限制:
循环

本节我们来学习 bash shell 编程的第三部分循环,包括以下内容:
for 循环通过遍历列表的方式执行循环,列表生成有如下几种方式
本章重点
版本差异:
子类化内置类型:
if 和条件判断

本节我们来学习 bash shell 编程的第二部分条件判断,包括以下内容:
bash 中测试的实现有两种方式,一是执行命令,并利用命令状态返回值来判断;二是所谓的测试表达式。但是所谓的测试表达式本质上仍然是由特定的测试命令执行,并通过命令状态返回值来判断测试是否满足。条件表达式我的理解只不过是为某些通用的测试目的提供便利。