bash和dash bash的区别

所以它们之间的各种差异都是來自 POSIX 标准模式bash 的差异,比如 用 : 截取字符串不能用 let , 遇错中断 等等在使用时需要注意。

中的优点有灵活和强大的编程接口,同时又有很友好的用户界面

/bin/dash bash,目的使用更少的磁盘空间、提供较少的功能、获取更快的速度但是后来经过 shell 脚本测试存在运行问題。因为原先在 bash shell 下可以运行的 shell script (shell 脚本)在 /bin/sh 下还是会出现一些意想不到的问题,不是100%的兼用







  1. 在shell脚本的开头往往有一句话来定义使用哪种sh解释器来解释脚本。
    目前研发送测的shell脚本中主要有以下两种方式:
    在这里求教同福客栈的各位大侠们一个问题:
    以上两种方式有什么区别对於脚本的实际运行会产生什么不同的影响吗?

    为什么会有这样的区别呢

    junru同学作了解释

    所以,sh跟bash的区别实际上就是bash有没有开启posix模式的区別

    so,可以预想的是如果第一行写成 #!/bin/bash --posix,那么脚本执行效果跟#!/bin/sh是一样的(遵循posix的特定规范有可能就包括这样的规范:“当某行代码出错时,不继续往下解释”)

当你打开终端想看一下历史命囹,却提示类似错误信息: "sh: 1: history: not found "或者使用up(向上箭头按键)却输出"^[[A" ?

这是因为Ubuntu的login shell默认使用bash, 对于系统来说dash bash更快、更高效,符合POSIX规范可以加赽Ubuntu启动速度。

不过我个人用bash比较顺手还是改成bash吧。

来切换默认sh记得选NO

会出现几行提示,我就不贴图了可以再

我改完之后没生效,重啟系统后就好了

我要回帖

更多关于 dash bash 的文章

 

随机推荐