Linux SHELL中sh和bash的区别
2024-08-25 09:32:23
什么是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=
no2=
let no1++
let result=no1+no2
echo $result
result=$[no1+no2]
echo $result
result=$[$no1+]
echo $result
result=$((no1+))
echo $result 如果使用sh则输出
test3.sh: : test3.sh: let: not found
test3.sh: : test3.sh: let: not found
$[no1+no2]
$[+]
可以看见sh不仅不支持多种命令,而且很多细小的差别。
所以其实我们应该更多的使用bash,也就是./xx.sh,前提是修改权限,chmod a+x xx.sh。
最新文章
- 【Spring】简单的Spring MVC入门例子
- Python 操作 MySQL 之 pysql 与 ORM(转载)
- java8 函数式编程
- IOS之未解问题--给UITableView提取UITableViewDataSource并封装瘦身失败
- linux svn客户端 常用命令
- 一张图告诉你为什么 Gmail 是最好的邮箱,以及大量私货
- Android L Camera2 API 使用实例程序汇总
- 英特尔实感SDK 代码示例
- Couldn't get lock for %t/vertx.log
- Mybatis 打开连接池和关闭连接池性能对比
- 【HDOJ】2319 Card Trick
- 一句话解释JVM中空间分配担保的问题
- 随记PC-win7 64位系统网络连接状态一直转圈、等待状态的异常解决方案
- HI258摄像头旋转配置问题
- 【.NET Core项目实战-统一认证平台】第一章 功能及架构分析
- linux 创建sudo账号.md
- 【IT界的厨子】酱香鲈鱼
- Oracle 未能加载文件或程序集Oracle.DataAccess
- delphi 分享三个随机字符串
- Java基础83 JSP标签及jsp自定义标签(网页知识)