bash与sh的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bash与sh的区别相关的知识,希望对你有一定的参考价值。

参考技术A bash是 Bourne Again SHell 是linux标准的默认shell ,它基于Bourne shell,吸收了C shell和Korn shell的一些特性。bash完全兼容Bourne shell,也就是说用Bourne shell的脚本不加修改可以在bash中执行。
sh是Bourne shell 这个是UNIX标准的默认shell,对它评价是concise简洁 compact紧凑 fast高效 有AT&T编写,属于系统管理shell。本回答被提问者采纳

/bin/sh 与 /bin/bash 的区别

 

 /bin/sh/bin/bash 的区别,用 : 截取字符串不是POSIX 标准的。

区别

  1. sh 一般设成 bash 的软链 (symlink)
    1. ls -l /bin/sh  
    2. lrwxrwxrwx 1 root root 4 Sep 14 04:45 /bin/sh -> dash  
  2. 在一般的 linux 系统当中(例外如 FreeBSD,OpenBSD 等),使用 sh 调用执行脚本相当于打开了bashPOSIX 标准模式
  3. 也就是说 /bin/sh 相当于 /bin/bash --posix

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

参考

    1. [Difference between sh and bash] http://stackoverflow.com/questions/5725296/difference-between-sh-and-bash
    2. [/bin/bash和/bin/sh的区别] http://www.cppblog.com/erran/archive/2012/05/24/176038.aspx
    3. [#!/bin/sh與#!/bin/bash的區別] http://fanli7.net/a/bianchengyuyan/_NET/20130916/424894.html

以上是关于bash与sh的区别的主要内容,如果未能解决你的问题,请参考以下文章

Linux-SHELL中sh和bash的区别

linux基础:shell中的sh与bash区别与常用命令

bash和 csh 区别

shell脚本头,#!/bin/sh与#!/bin/bash的区别.

ubuntu中/bin/bash与/bin/sh,区别较大吗

#!/bin/sh与#!/bin/bash的区别