UNIX 系统中 Korn Shell 与相关 Shell 的特性及安全管理
1. UNIX 系统中 Shell 的发展历程
在 UNIX 系统的发展历程中,由于 shell 与操作系统本身的独立性,催生了众多 shell,但广泛使用的仅有几种。
-Bourne shell:1979 年,首个流行的 UNIX 版本 Version 7 中引入了由 Steven Bourne 发明的 Bourne shell,系统中简称为 sh。尽管 UNIX 历经诸多变革,Bourne shell 依旧广受欢迎且基本保持不变,许多 UNIX 实用程序和管理功能都依赖于它。
-C shell:几年后,加州大学伯克利分校的 Bill Joy 为伯克利系统发行版(BSD)编写了 C shell(csh)。因其命令与 C 编程语言的语句相似,便于 UNIX 系统的程序员学习。它支持一些曾为 BSD UNIX 独有的操作系统特性,如作业控制,如今这些特性已被大多数现代版本采用,同时它还具备一些实用功能,如别名,提升了使用的便捷性。
-Korn shell:20 世纪 80 年代中期,AT&T 贝尔实验室的 David Korn 发明了 Korn shell(ksh)。它几乎完全向上兼容 Bourne shell,这意味着 Bourne shell 的用户可直接使用,且依赖 Bourne shell 的系统实用程序也能无缝切换。1986 年,Korn shell 作为 AT&T“实验工具包”的一部分公开,源代码以低成本提供,但无技术支持且可能存在一些 bug。后来,AT&