Linux SHELL中sh和bash的区别

Posted yyxianren

tags:

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

什么是SHELL?
  shell的中文意思就是贝壳,其实比较类似于我们内核的壳。简而言之就是只要能够操作应用程序的接口都能够称为SHELL。狭义的shell指的是命令行方面的软件,广义的SHELL则包括图形界面。

SHELL的版本
  在鸟哥的私房菜的一书中,介绍了UNIX的版本以及众多的SHELL版本。
  早在UNIX年代,发展者众多,所以由于shell依据发展者的不同就有许多版本,比如sh,C SHell,K SHell,还有TCSH等,每一种Shell都各有特点。当然也有我们的bash,bash这个shell是Bourne Shell的增强版本,也是基于GNU的架构下发展出来的。

sh和bash的区别
  因为bash是sh的增强版本,在我们平常实地操作的时候如果sh这个命令不灵了我们应当使用bash。
  举个例子来说如果我们使用数字的加减
  有几种不同的版本,

#! /bin/bash
no1=4
no2=5
let no1++
let result=no1+no2
echo $result
result=$[no1+no2]
echo $result
result=$[$no1+5]
echo $result
result=$((no1+50))
echo $result

如果使用sh则输出 test3.
sh: 4: test3.sh: let: not found test3.sh: 5: test3.sh: let: not found $[no1+no2] $[4+5] 54

  可以看见sh不仅不支持多种命令,而且很多细小的差别。 
  所以其实我们应该更多的使用bash,也就是./xx.sh,前提是修改权限,chmod a+x xx.sh。

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

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

linux arm 运行 shell .sh 脚本文件报错:/bin/bash^M: bad interpreter: No such file or directory(dos2unix )(代码片

bash与sh的区别

[shell]Linux脚本开头#!/bin/bash和#!/bin/sh是什么意思以及区别

Linux shell语言——dash和bash

linux中shell分多少种,都有啥区别