关于bash和dash
来源:互联网 发布:scival数据库 编辑:程序博客网 时间:2024/04/23 15:53
什么是shell?其实一般用户通过shell来和Linux的内核通信,以让内核达到我们所想要达到的工作。也就是说,只要能够操作应用程序的接口都能被成为shell,狭义的shell指的是命令行方面的软件,例如bash。广义的shell则包括图形界面的软件(因为图形界面其实也能够操纵各种应用程序来调用内核工作)。
shell有多种,有Bourne SHell(sh),C SHell等,现绝大部分Linux发行版本使用的shell为:Bourne Again SHell,简称bash,这个shell是Bourne SHell的增强版本,是基于GNU的架构发展出来的。
而dash是作为Debian Linux发行版的一部分开发的,主要出现在Ubuntu Linux发行版中。它是Bourne shell的精简版,支持的功能不像bash shell支持的那样多。
平时在 .sh文件中所看到的 /bin/sh 在大多Linux系统指的是一个符号链接,并不是说调用sh( /bin/sh 已经被 /bin/bash 所替代),如果在非Ubuntu的Linux系统中,该符号链接一般指向 /bin/bash,而在Debian Ubuntu中,该链接已经被指向了dash,也就是指向了 /bin/dash,由于dash执行效率更高,所以在Ubuntu才取代了bash,但由于dash是sh的精简,支持功能功能不够多,所以这可能会给脚本编程带来一些问题。
更多了解可以点击:https://wiki.ubuntu.com/DashAsBinSh
如果想更改Ubuntu默认的shell,可以使用
$ sudo dpkg-reconfigure dash
如果是一个开发人员,在Ubuntu想避免该问题,在.sh文件中,可以将 #! /bin/sh修改为 #! /bin/bash
0 0
- 关于bash和dash
- Bash 和 Dash
- Bash 和 Dash
- dash 和 bash
- bash和dash简介
- bash和dash的区别
- bash和dash的区别
- bash & dash
- dash -> bash
- Ubuntu 的 bash和dash的区别
- dash 和 bash 的 一点区别
- Ubuntu的shell之bash和dash
- Ubuntu的shell之bash和dash
- Ubuntu的shell之bash和dash
- Ubuntu的shell之bash和dash
- Ubuntu的shell之bash和dash
- Ubuntu的shell之bash和dash
- bash、dash(/bin/bash和/bin/sh)
- POJ 2299 Ultra-QuickSort
- CPU L2缓存初探
- keycode值对应键
- Json序列化和反序列化之jackson
- Maven Missing artifact jdk.tools:jdk.tools:jar:1.7 解决办法
- 关于bash和dash
- Android优化指南
- canvas 火焰
- Git Reference---Branching and Merging
- lan 9220
- DB2 在线分析处理(OLAP函数的使用)
- swift学习记录(函数--输入输出参数)
- Git Reference---Branching and Merging(2)
- 局域网部署Docker--从无到有创建自己的Docker私有仓库