贝壳对比?

贝壳对比?

shell 有什么实际的优点或缺点吗?它们都可以运行任何二进制文件,它们都支持管道和>(输出到文件)。为什么人们会选择bashover shshoverksh等等?为什么除了外壳之外还要sh存在其他外壳呢?

答案1

一个可执行文件sh是当代类 Unix 操作系统所必需的。有各种标准(例如POSIX)规定了这意味着什么,尽管由于“类unix”并不一定意味着“经过认证”,所以现实情况有所不同。一般来说,他们至少实现了与sh原始版本兼容的东西伯恩外壳。这就是为什么sh通常是符号链接,而“sh”今天最好被理解为它所链接的任何行为的标准。

bash是个谍影重重 外壳,这是shGNU/Linux 系统上经常链接到的内容(但还有其他可能性,例如dashash)。 Bash 包含 sh 的所有功能,旨在为 sh 脚本提供向后兼容性。这种兼容性显然存在一些潜在的模糊故障,但它们可能不太重要。

所以从功能上来说,bash扩展了sh;它做所有事情sh应该做的事情,甚至更多。另一种流行的扩展 sh 实现也满足 POSIX 的要求是康壳公司, ksh.

*nix 世界中仍在使用的另一个通用命令 shell 谱系是C壳, csh.然而,C shell 与 sh 代码不兼容,并且实现永远不会链接到sh.

答案2

您可能会发现的最常见差异是ksh、bash 和不同 shell 之间的区别在 unix.com 上发帖 我认为这就像选择不同的发行版。每个人都选择他喜欢的。

相关内容