📜  sh 和 bash 的区别(1)

📅  最后修改于: 2023-12-03 15:34:57.576000             🧑  作者: Mango

shbash 的区别

概述

shbash 都是 shell 的一种。Shell 是操作系统的一种命令解释器,它连接用户与底层操作系统内核。Shell 解释用户输入的命令并执行对应的操作系统函数。其中,sh 是 Shell 的一种最小化版本,bash 则比较常用且较完善。

区别对比
  1. sh 是 POSIX 标准定义的 shell,被认为是比较规范的 shell,而 bash 建立在 sh 基础上扩充了很多功能。
  2. 在执行脚本时,sh 的执行速度比 bash 要快,因为 bash 是基于交互的命令行的。但是在交互作业中,bash 具有更好的用户交互体验,并且支持很多方便的快捷键等功能。
  3. bashsh 方式上的不同之处有很多,如在使用变量时 $var 或者 ${var}bashsh 中是有区别的。又如,在 sh 中,数组可以通过空格分隔元素来创建,而在 bash 中,数组明确需要使用括号进行声明。
  4. bash 支持命令行编辑,在命令行中进行光标定位、删除、替换等操作,极大地方便了用户输入和编辑命令。
  5. bash 还提供了大量的扩展,如变量参数扩展、表达式求值、重定向、命令替换、函数定义等等。
  6. 最后一点区别就是 bash 可以支持类似 C 语言的语法,可以用结构体和数组等数据结构。
总结

shbash 都是 shell,但是 bashsh 更加强大,拓展了很多的功能。如果只是简单的脚本,使用 sh 即可,如果希望有更多的灵活性和更多的扩展,使用 bash 更加合适。