很奇怪,仔细看了一下,原来进入容器的时候终端使用的 sh,切换为 bash 就好了(在终端输入 bash 命令就可以切换为 bash 了)。 sh 和 bash 都是常见的Unix shell,其实还有另外一个是 dash,接下来看下三者的联系和区别。 sh sh 是 Shell 的缩写,是Unix/Linux系统的默认shell,也是最古老的shell之一。sh是标准的...
bash 是 Bourne-Again Shell 的缩写,是 sh 的增强版,具有更多的功能和选项。bash提供了命令自动补全、历史记录、别名、作业控制等特性。bash 是大多数 Linux 发行版及macOS 系统的默认 shell。 dash dash 是 Debian Almquist shell 的缩写,是从 NetBSD 派生而来的轻量级 shell,专门为 Debian 发行版而设计。与 bas...
sh、bash 和 dash 是三种常见的Unix shell。sh是Unix/Linux系统的默认shell,也是最古老的shell之一,是标准的POSIX shell,有多个版本和实现,例如Bourne shell和POSIX shell。bash是Bourne-Again Shell的简称,是sh的增强版本,具有更多功能和选项。它提供了命令自动补全、历史记录、别名和作业控制等特性。
执行速度。DashShell比BashShell小的多,符合POSIX标准Ubuntu继承了 Debian,所以从Ubuntu6.10开始默认是DashShell... Bourneshell的脚本不加修改可以在bash中执行,反过来却不行,bash的脚本在sh上运行容易报语法错误。 简单来说,bash是sh的完整版,bash完全兼容sh命令 ...
1.常见shell类型 2.规范和建议 3.bash和dash区别 4.Ubuntu下把缺省的dash shell修改为bash shell 1.常见shell类型 Bourne shell (sh) UNIX 最初使用,且在每种 UNIX 上都可以使用。在 shell 编程方面相当优秀,但在处理与用户的交互方面做得不如其...
原来bash是GNU/Linux 操作系统中的 /bin/sh 的符号连接,但由于bash过于复杂,有人把 bash 从 NetBSD 移植到 Linux 并更名为 dash,且/bin/sh符号连接到dash。 Dash Shell 比 Bash Shell 小的多(ubuntu16.04上,bash大概1M,dash只有150K),符合POSIX标准。
通过以下方式可以使 shell 切换回 bash: $sudo dpkg-reconfigure dash 然后选择 no 或者 否 ,并确认。 这样做将重新配置 dash,并使其不作为默认的 shell 工具。 也可以直接修改 /bin/sh 链接文件,将其指定到 /bin/bash: $sudo ln -fs /bin/bash /bin/sh ...
最近在工作中遇到一个很奇葩的问题,就是一个嵌入式的SDK编译,它里面执行shell命令的时候,使用的dash shell来解析,而通常我们默认用的是bash shell来解析;我按照bash shell那样照常编写脚本,大部分的脚本是没有问题的,但是偏偏就被我遇到了不一样的地方,以此文记录下。
Ubuntu的shell之bash和dash,Ubuntu的shell默认安装的是dash,而不是bash。运行以下命令查看sh的详细信息,确认shell对应的程序是哪个:$ls-al/bin/shdash比bash更轻,更快。但bash却更常用。如果一些命令、脚本等总不能正常执行,有可能是dash的原因。比如编译Android源代
Ubuntu下我用bash到语法写了一个shell脚本(准确的说是把书上的脚本敲进电脑),在ubuntu下,用sh test.sh来运行,但是出现了意料之外到结果,比如echo -e "\nTest\n"到执行就不同,直接用sh test.sh运行,会打印出-e(作为字符串);而直接在终端中输入echo -e "\nTest\n"是不会输出"-e"的。