shell 编程

注:这篇文档我还没写完。

系统内核负责系统的正常运行以及封装了一些函数,而 shell 利用这些函数开发应用程序来让用户可对系统进行使用操作。

为什么说 shell 是 Linux 内核的入口,因为内核最为关键的两个抽象是进程和文件,shell 则提供了加载程序为进程以及操作文件的方式。

shell 是一门编程语言,只不过没有通用的编程语言那么丰富的数据类型,shell 中一切皆字符串,因为 shell 和程序的交互,都是依赖字符流(文本流)(当然文本流的最大问题就是需要做很多字符串解析);也可以把 shell 命令当作是函数调用——并且这个函数可以用任意编程语言来实现。

Linux/Unix 是一种用来干事情、实践第一的操作系统,从我学习 Linux 开始,shell 编程就一直伴随——用直接有效的方法管理 Linux。写系统脚本时,shell 的语法虽然丑陋,但比起用那些华而不实的编程语言,但它可以更简单有效地帮助我们使用系统。只有学会了 shell 才算学会 Unix。