在 Unix 和 Linux 中有几个“shell”。 Shell 是指一种特殊的用户程序,它为用户提供一个使用操作系统服务的接口。
两个著名的 shell 是 KSH 和 Bash。 这些是计算机编程领域的外壳。 这两个具有独特的功能和命令集。 这两个外壳是相互关联的。
关键精华
- KSH (KornShell) 是一个较旧的 shell,而 BASH (Bourne-Again SHell) 是一个具有附加功能的较新 shell。
- BASH 是大多数 Linux 发行版的默认 shell,而 KSH 在 Unix 系统中更为常见。
- BASH 与 KSH 脚本兼容,但不支持所有 BASH 功能。
KSH 与 Bash
KSH是一个命令 翻译员 和与 POSIX 兼容的编程语言。 揍 是 Steve Bourne 在 1970 年代开发的 Bourne shell 的增强版本,现在是大多数 Linux 发行版中的默认 shell。 它支持 Korn shell 的许多功能并具有附加功能。
KSH 指的是 David Korn 在 1980 年代早期开发的 Unix shell。 它是受贝尔实验室用户要求的启发而开发的,它包含了 C shell 的几个特性。
KSH 也是向后兼容的。 KSH主要有五个版本——PDKSH、KSH、MKSH、KSH93和KSH88。
另一方面,Bash 指的是 Bourne shell 的克隆。 它由 FSF(免费软件基金会)开发,并根据通用公共许可证 (GPL) 获得许可和编写。
揍 shell 是 KSH 多年后开发的,所以它是较新的 shell,与 KSH 相比有几个新的资源。
对比表
比较参数 | KSH | 揍 |
---|---|---|
性能 | 在处理命令和脚本的执行时,与 Bash 相比,KSH 提供了更好的性能。 | 在处理命令和脚本的执行时,Bash 的性能是不错的。 |
编程功能 | 与 Bash 相比,KSH 提供了更多的高级编程功能。 | 与 KSH 相比,Bash 的编程特性较差。 但是,Bash 也有很多编程特性。 |
命令 | KSH 使用 print 命令来打印输出,这比 Bash 更好。 | Bash 使用 echo 命令来打印输出。 |
资源 | KSH 的开发时间早于 Bash,因此与 Bash 相比,KSH 中的资源较少。 | Bash 是一个新的 shell,因此它拥有很多资源,并且与 KSH 相比更受欢迎。 |
脚本 | 由于语法较旧,KSH 的脚本可读性较差。 | 为了拥有更新的语法,Bash 的脚本是可读和可理解的。 |
什么是KSH?
KSH 或 Korn shell 指的是 David Korn 爵士在 1980 年代初期开发的 UNIX shell。 KSH 是多年前开发的,在 Bash 创建之前。
因为它是多年前开发的,所以与 Bash 相比,它拥有更少的资源。 因此,现在很少有人使用 KSH。
它是作为其他重要 UNIX shell 的组合综合版本开发的。 它结合了 Tab C-shell 和 C shell 的所有特性以及 Bourne shell 的脚本语言特性。
就效率而言,Bourne shell 当时被认为是最好的 shell。 最流行的 Unix shell 是 C shell、Bourne shell 和 Korn shell。
KSH 是 Bourne shell 家族的一员,非常易于使用。 因此,没有经验的用户更喜欢 KSH。
KSH 的“r history”命令非常好,因为它允许用户非常快速地返回到旧命令。 KSH 的打印命令在打印输出时非常高效。
KSH 还提供卓越的编程功能。
KSH 解释器的二进制大小为 1.6 MB。 由于语法较旧,KSH 的脚本可读性较差。 KSH 也有一些关联数组,它可以轻松有效地处理循环语法。
什么是巴什?
Bash 或 Bourne Again Shell 是 Bourne Shell 程序的升级版本,名为“sh”,由 Brian Fox 编写。
它由 FSF(免费软件基金会)开发,并根据通用公共许可证 (GPL) 获得许可和编写。
Bash 针对交互和编程用途改进了 Bourne Shell 的许多功能。 它包括命令历史记录、命令行编辑、键绑定等功能。
对于 Apple 的 mac OS 和大多数 Linux Bash 作为默认登录 shell。 它也可以从 Windows 10 访问。在许多 Linux 模式下,它现在是默认的 shell。
Bash 是指在文本窗口中运行的命令行解释器。用户解释命令来执行多个操作。
这些不同命令的集合称为 Shell 脚本(作为文件中的一系列命令)。 Bash 从 Shell 脚本中读取这些命令并执行它们以执行多项操作。
与 KSH 相比,Bash 更流行、更新、最近开发的资源也更多。 因此,它使学习使用 Bash 变得容易。
Bash最重要的两个优点是显示当前目录的提示设置方法简单和tab的补全。
KSH 和 Bash 之间的主要区别
- 在处理命令和脚本的执行时,与 Bash 相比,KSH 提供了更好的性能,另一方面,在处理命令和脚本的执行时,Bash 的性能还不错。
- 与 Bash 相比,KSH 提供了更多的高级编程功能。 与 KSH 相比,Bash 的编程特性较差。 但是,Bash 也有很多编程特性。
- KSH 使用 print 命令来打印输出,这比 Bash 更好。 Bash 使用 echo 命令来打印输出。
- KSH 的开发时间早于 Bash,因此与 Bash 相比,KSH 中的资源较少。 Bash 是一个新的 shell,因此它拥有很多资源,并且与 KSH 相比更受欢迎。
- 对于较旧的语法,KSH 的脚本可读性较差,但对于较新的语法,Bash 的脚本可读性和可理解性。
- https://scholar.google.com/scholar?hl=en&as_sdt=0%2C5&q=korn+shell&oq=korn+she#d=gs_qabs&u=%23p%3Dzna0kMa6N3MJ
- https://scholar.google.com/scholar?hl=en&as_sdt=0%2C5&q=Bash&btnG=#d=gs_qabs&u=%23p%3DYFtvOe41MKUJ
最后更新时间:11 年 2023 月 XNUMX 日
Sandeep Bhandari 拥有塔帕尔大学计算机工程学士学位(2006 年)。 他在技术领域拥有 20 年的经验。 他对各种技术领域都有浓厚的兴趣,包括数据库系统、计算机网络和编程。 你可以在他的网站上阅读更多关于他的信息 生物页面.
资源比较帮助我更好地理解了差异,谢谢!
KSH 和 Bash 的详细比较非常有用,谢谢分享。
解释太棒了,非常清晰和简洁!
我同意,那是一篇很棒的文章!
这篇文章中包含的信息之多令人难以置信。多谢!
我发现 KSH 和 Bash 之间的性能比较非常有趣,很棒的帖子!
我很欣赏为提供如此信息丰富的文章而付出的努力。