Korn Shell与Bash Shell的区别


David Korn开发了Korn Shell命令,开发人员使用它来创建新的shell命令。Freeware Software开发了Bash Shell,这是一个免费的开源脚本,计算机用户可以使用它。在本文中,我们将讨论Korn shell和Bash shell之间的区别。

Korn Shell

Korn shell是Unix操作系统的命令,由David Korn在贝尔实验室开发。shell程序是一个命令,它通过与操作系统交互来运行不同类型的脚本。Korn shell是一个可以在不同类型的操作系统上运行的脚本。Korn shell也称为KornShell,它开发于1983年,并拥有自己的脚本语言。

它包含C Shell和Bourne Shell。C Shell由加州大学的Bill Joy开发。Stephen Bourne是贝尔实验室的Bourne Shell的开发者。David Korn开发的Korn Shell比C Shell和Bourne Shell更好。

Korn Shell的历史

Korn shell在1986年和1993年进行了更新。此更新改进了Korn shell的性能,因为它包含了许多功能,如下所示:

  • 改进了输入和输出功能
  • 它还支持数组
  • 改进了命令历史支持
  • 改进了对shell函数和别名的支持
  • 增强了模式匹配和子串功能

朗讯和AT&T在1993年拥有Korn shell,但后来它成为开源软件,因为其代码是在Eclipse公共许可证下发布的。Korn shell用于Unix和Linux操作系统,但现在许多用户开始偏好Bash Shell。

Korn Shell的功能

Korn Shell具有许多功能,这里将讨论这些功能。

  • 作业控制 - Korn shell帮助用户管理和操作正在运行的进程,因为它具有作业控制功能。
  • 高级I/O重定向 - 在Korn shell中可以轻松执行高级I/O重定向。用户可以在重定向输出文件的同时查看它。
  • 命令行编辑 - Korn shell中提供了命令行编辑功能。因此,以前输入的命令可以轻松编辑。
  • 算术运算 - 算术运算内置于Korn shell中,因此可以轻松执行数学计算。
  • 变量 - Korn shell也支持参数扩展和变量。很容易在shell中修改变量。

Korn Shell的优点

Korn shell有很多优点,其中一些列在下面:

  • 在执行脚本和命令时,其性能更好
  • 它优于Bash,因为它具有更多编程功能
  • 循环处理良好

Korn Shell的缺点

Korn shell有一些缺点,列在下面:

  • 它是一个旧脚本,因此只有少量资源可用
  • 阅读脚本很困难
  • 社区追随者数量非常少

Bash Shell

Bash Shell也称为Bourne Again Shell,由Freeware Software的Stephen Bourne开发。GNU组织为Bash shell提供了许可证,现在它对公众可用,因为它已成为免费的开源软件。其他shell的语法可以轻松地在Bash shell上运行。

Bash Shell的历史

Brian Fox于1987年创建了Bash shell,以取代Stephen Bourne开发的原始Bourne shell,后者作为GNU项目开发。Bash shell可以用于Unix的不同环境。Korn shell和C shell的功能也可以在Bash shell中使用。它具有命令行编辑功能,并且还提供了大量内置命令。

Bash Shell的功能

Bash shell具有许多功能,我们将在此处详细讨论它们。

  • 命令行编辑 - Bash shell包含强大的命令行编辑功能。它还包含历史记录、制表符补全和Vi编辑功能。
  • 可编程补全 - 用户可以定义自定义补全函数,以便可以通过复杂的命令轻松导航命令和参数。
  • 进程替换 - 进程替换是另一个强大的功能,它有助于将命令的输出视为文件。
  • 大括号扩展 - Bash shell也支持大括号扩展,这有助于用户使用单个命令生成大量文件名和命令参数。
  • shell函数 - bash shell中也提供shell函数,可用于创建和调用自定义函数。

Bash Shell的优点

Bash Shell有很多优点,其中一些列在下面:

  • Bash shell启动速度快
  • 提供交互式调试
  • 可以轻松编写shell脚本

Bash Shell的缺点

Bash Shell有一些缺点,列在下面:

  • Bash shell执行速度慢
  • Bash shell包含设计和实现缺陷

Korn Shell与Bash Shell的区别

Korn shell和Bash shell有很多区别,如下表所示:

Korn Shell Bash Shell
Korn shell存储为.ksh Bash shell存储为.sh
Korn shell路径为/bin/ksh bash shell路径为/bin/sh
Korn解释器的尺寸为1.6MB Bash解释器的尺寸为1.1 MB
在Korn shell中使用print命令打印消息 在Bash shell中使用echo命令打印消息
Korn shell的循环处理更好 相比之下,Bash shell的循环处理不好
Korn shell由David Korn开发 Bash shell由Freeware Software Foundation开发
Korn shell的用户数量较少 相比之下,Bash shell的用户数量更多
由于旧语法,Korn shell脚本的可读性较差 由于新语法,脚本的可读性相对较好
Korn shell具有更好的编程功能 Bash shell中的编程功能相对较差

结论

Korn Shell和Bash Shell都很流行,但它们有一些区别。Korn shell是一种旧语法,与Bash Shell相比,其脚本的可读性较差。Korn shell命令的处理速度比Bash shell快。还有许多其他区别,但目前Bash shell的使用比Korn shell多。

关于Korn Shell与Bash Shell的常见问题

常见问题1. Korn Shell和Bash Shell在哪里使用?

Korn shell用于旧系统,而Bash shell用于现代系统。

常见问题2. Korn Shell和Bash Shell哪个功能更好?

Bash shell的功能更好,因为它具有命令行编辑和制表符补全功能。Korn shell也具有命令行编辑功能,但不提供制表符补全功能。

常见问题3. 哪个shell向后兼容?

Bash shell向后兼容Bourne shell,因此脚本可以轻松运行而无需修改。Korn shell与Bourne shell不完全兼容。

常见问题4. Korn Shell和Bash Shell的文件扩展名是什么?

Korn shell的扩展名为.ksh,bash shell的扩展名为.sh。

常见问题5. 在Korn Shell和Bash Shell中使用哪个命令来打印消息?

在Korn shell中使用print命令,在Bash shell中使用echo命令来打印消息。

更新于:2024年7月1日

浏览量:135

启动您的职业生涯

通过完成课程获得认证

开始学习
广告
© . All rights reserved.