Bash 和 Shell 的基本概念

  • Shell:在计算机科学中,Shell 是一个用户和操作系统之间交互的接口。Shell 读取和解释用户输入的命令,并向操作系统传达这些命令。当操作系统执行完这些命令后,Shell 会将结果返回给用户。Shell 可以是命令行接口(CLI),也可以是图形用户接口(GUI)。在 Unix 和类 Unix 系统(如 Linux)中,我们通常指的是命令行 Shell。
  • Bash: Bash(Bourne Again SHell)是一个由 Brian Fox 为 GNU 项目开发的 Unix shell 和命令语言。它是 Bourne Shell(sh)的扩展,包含了很多特性,如命令行编辑、键盘快捷键、命令行历史记录、命令行完成(tab 键自动补全)等。Bash 是很多 Linux 发行版的默认 Shell。
  • sh: sh(Bourne Shell)是 Unix 操作系统的原始 Shell,由 Stephen Bourne 在 Bell Labs 开发。它的功能相对较少,但在所有 Unix 系统中都存在,因此是写跨平台脚本的好选择。
  • zsh:zsh(Z Shell)是一个扩展于 Bash 的 Shell,包含了很多额外的特性,如主题和插件支持、更强的命令行提示(例如右提示)、更强大的命令行补全等。近年来,由于其高度的可定制性和用户友好性,zsh 已经在开发者社区中越来越流行。

Bash、sh 和 zsh 都是 Shell,但它们之间的主要区别在于它们支持的特性和语法。例如,Bash 和 zsh 支持数组和关联数组,而 sh 不支持。另一个例子是,Bash 和 sh 使用 echo -e 来支持转义字符,而 zsh 直接使用 echo。这就意味着,尽管大部分 sh 脚本可以在 Bash 和 zsh 中运行,但并非所有 Bash 和 zsh 脚本都可以在 sh 中运行。

绪论

基本概念

主要记录比较难查找的细节的更改和调整

阅读全文 »

This is an encrypted blog, a password is required here.
阅读全文 »

This is an encrypted blog~
阅读全文 »