bash和sh在功能上有什么显著差异?
- 内容介绍
- 文章标签
- 相关推荐
本文共计793个文字,预计阅读时间需要4分钟。
什么是sh?
sh(或Shell命令语言)是一种由POSIX标准描述的编程语言。它有许多实现(如ksh88、Das等)。
什么是sh?sh(或Shell命令语言)是一种由POSIX标准描述的编程语言。它有许多实现(ksh88,Das 什么是sh?sh(或 Shell 命令语言)是一种由POSIX 标准描述的编程语言。它有许多实现(ksh88,Dash,…)。Bash 也可以被认为是sh(见下文)的一种实现。
因为sh是规范,而不是实现,/bin/sh是大多数 POSIX 系统上实际实现的符号链接(或硬链接)。
什么是Bash?Bash 最初是一个sh兼容的实现(尽管它比 POSIX 标准早了几年),但随着时间的推移,它已经获得了许多扩展。许多这些扩展可能会改变有效 POSIX shell 脚本的行为,因此 Bash 本身并不是一个有效的 POSIX shell。相反,它是 POSIX shell 语言的一种方言。
Bash 支持--posix开关,这使得它更符合 POSIX。如果调用为sh.
sh = bash?很长一段时间以来,/bin/sh用于指向/bin/bash大多数 GNU/Linux 系统。因此,忽略两者之间的差异几乎是安全的。但这种情况最近开始发生变化。
本文共计793个文字,预计阅读时间需要4分钟。
什么是sh?
sh(或Shell命令语言)是一种由POSIX标准描述的编程语言。它有许多实现(如ksh88、Das等)。
什么是sh?sh(或Shell命令语言)是一种由POSIX标准描述的编程语言。它有许多实现(ksh88,Das 什么是sh?sh(或 Shell 命令语言)是一种由POSIX 标准描述的编程语言。它有许多实现(ksh88,Dash,…)。Bash 也可以被认为是sh(见下文)的一种实现。
因为sh是规范,而不是实现,/bin/sh是大多数 POSIX 系统上实际实现的符号链接(或硬链接)。
什么是Bash?Bash 最初是一个sh兼容的实现(尽管它比 POSIX 标准早了几年),但随着时间的推移,它已经获得了许多扩展。许多这些扩展可能会改变有效 POSIX shell 脚本的行为,因此 Bash 本身并不是一个有效的 POSIX shell。相反,它是 POSIX shell 语言的一种方言。
Bash 支持--posix开关,这使得它更符合 POSIX。如果调用为sh.
sh = bash?很长一段时间以来,/bin/sh用于指向/bin/bash大多数 GNU/Linux 系统。因此,忽略两者之间的差异几乎是安全的。但这种情况最近开始发生变化。

