系统

shell(命令行外壳)

shell(命令行外壳)是负责读取并执行你所输入命令的程序。当你打开终端、看到一个闪烁的提示符时,那个提示符就是 shell 在等你下令——列出这些文件、复制那一个、启动这个服务器。

它之所以叫「外壳」(shell),是因为它是包在操作系统核心外面的那一层:你对 shell 说话,shell 再请内核(kernel)去真正干活。常见的有 bash 和 zsh(现代 Mac 的默认 shell);它们看上去几乎一样,做的也是同一件事。

shell 不只是个「命令执行器」——它本身就是一门小型编程语言。你可以把一连串命令存成脚本,使用变量和循环,还能把一个命令的输出直接管道(pipe)给下一个命令。开发者日常的许多威力,正是从这里来的。

$ echo $SHELL
/bin/zsh

问一问你正在用的是哪个 shell——提示符自己会回答。

别把 shell 和终端(terminal)搞混:终端是那个窗口,shell 是在窗口里运行的程序。窗口是玻璃,shell 才是玻璃另一头跟你对话的那个声音。

又称
command linecommand-line interpreterbashzshterminal prompt