Centos系统下载大全 | Redhat系统下载大全 | Windows2012系统下载大全 | Windows2008系统下载大全| CMS教程 | 网站地图 51运维网-专注Linux/Unix系统安全运维!
当前位置:51运维网 > 内核 > Linux内核 > 正文

解释器/bin/sh和/bin/bash的区别

时间:2016-05-25 00:24 来源:网络整理 作者:51ou.com 阅读:

在redhat的系统中,sh是一个到bash的软链接,但是如果运行如下程序会产生不一样的结果。
#!/bin/bash
function InstallFiles () {
echo $BUILD
}
buildroot=nihaoa
ROOT=wahu

BUILD=${buildroot} \
InstallFiles
BUILD=${BUILD}/${ROOT} \
InstallFiles

结果为:
nihaoa
/wahu


但是换成如下:
#!/bin/sh
function InstallFiles () {
echo $BUILD
}
buildroot=nihaoa
ROOT=wahu

BUILD=${buildroot} \
InstallFiles
BUILD=${BUILD}/${ROOT} \
InstallFiles

结果为:
nihaoa
nihaoa/wahu


这里出现区别的原因,可能是如下引起的:
1.在一般的linux系统当中(如redhat),使用sh调用执行脚本相当于打开了bash的POSIX标准模式
2.也就是说 /bin/sh 相当于 /bin/bash --posix


本文永久更新地址:

感谢您对【51运维网 http://www.51ou.com/】的支持,我们为您免费提供《解释器/bin/sh和/bin/bash的区别》技术文章,《解释器/bin/sh和/bin/bash的区别》详细使用和说明,有时《解释器/bin/sh和/bin/bash的区别》可能不完善、敬请谅解!如果《解释器/bin/sh和/bin/bash的区别》有错误请给我们留言,我们将尽快修复文章错误,如果您觉得本站不错,请分享给周围的朋友!谢谢!

顶一下
(0)
0%
踩一下
(0)
0%
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
验证码:点击我更换图片