首页 > 代码库 > /bin/sh 与 /bin/bash 的区别
/bin/sh 与 /bin/bash 的区别
/bin/sh
与 /bin/bash
的区别,用 :
截取字符串不是POSIX
标准的。
区别
sh
一般设成bash
的软链 (symlink)[plain] view plain copy print?- ls -l /bin/sh
- lrwxrwxrwx 1 root root 4 Sep 14 04:45 /bin/sh -> dash
- 在一般的 linux 系统当中(例外如
FreeBSD
,OpenBSD
等),使用sh
调用执行脚本相当于打开了bash
的POSIX
标准模式 - 也就是说
/bin/sh
相当于/bin/bash --posix
所以,它们之间的各种差异都是来自 POSIX
标准模式 和 bash
的差异,比如 用 :
截取字符串,不能用 let
, 遇错中断 等等,在使用时需要注意。
参考
- [Difference between sh and bash] http://stackoverflow.com/questions/5725296/difference-between-sh-and-bash
- [/bin/bash和/bin/sh的区别] http://www.cppblog.com/erran/archive/2012/05/24/176038.aspx
- [#!/bin/sh與#!/bin/bash的區別] http://fanli7.net/a/bianchengyuyan/_NET/20130916/424894.html
/bin/sh 与 /bin/bash 的区别
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。