如何用 C 写一个 Shell

你很容易认为自己“不是一个纯正的程序员”。

有一些程序所有人都用,它们的开发者很容易被捧上神坛。虽然开发大型软件项目并不是那么容易,但很多时候这种软件的基本思想都很简单。

自己实现这样的软件是一种证明自己可以是纯正程序员的有趣方式。因此这篇文章介绍了我是如何用 C 写一个自己的简易 Unix Shell 的。我希望其它人也能感受到这种有趣的方式。

在这篇文章中介绍的 Shell(其实它叫做 lsh),可以在 GitHub (https://github.com/brenns10/lsh)上获取它的源代码。

学校里的学生请注意!  

许多课程都有要求你编写一个 Shell 的作业,而且有些教师都知道这样的教程和代码。如果你是此类课程上的学生,请你不要在简单的复制(或复制加修改)这里的代码。

我强烈反对重度依赖本教程的行为。

Shell 的基本生命周期