欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【linux】shell中运行时bash与sh的区别示例

程序员文章站 2024-02-19 17:58:34
...

写了一个shell文件,假设它名字为check1.sh,当我用sh check1.shbash check1.sh分别运行时,输出不一样的。

#!/bin/sh是#!/bin/bash的缩减版。鉴于bash过于复杂,有人把bash从NetBSD移植到Linux并更名为dash,并建议将/bin/sh指向它,以获得更快的脚本执行速度。[转载]

这里有几个直观例子:
1 ping一个ip,shell文件为:

#!/bin/bash
ping -c1 192.168.29.3 &> /dev/null

当我用bash运行时一切正常,没有额外输出:
【linux】shell中运行时bash与sh的区别示例
而当我用sh运行时,存在额外输出:
【linux】shell中运行时bash与sh的区别示例
2 字体颜色设置,shell文件为:

#!/bin/bash
echo -e "\033[32m Hello! \033[0m" 

当我用bash运行时一切正常:
【linux】shell中运行时bash与sh的区别示例
当我用sh运行时:
【linux】shell中运行时bash与sh的区别示例

通过以上例子深刻感受到了区别。

相关标签: shell linux bash