您当前的位置:首页 > 电脑百科 > 软件技术 > 操作系统 > 操作系统百科

Sh、Bash 和 Dash 几种 Shell 的区别是什么?

时间:2023-06-11 12:00:00  来源:今日头条  作者:路多辛

在调试基于 Debian 的 Docker 镜像时,进入容器后在终端中按上箭头键后终端显示^[[A,下箭头显示^[[B,右箭头显示^[[C,左箭头显示^[[D,按删除键也是显示了几个特殊字符。很奇怪,仔细看了一下,原来进入容器的时候终端使用的 sh,切换为 bash 就好了(在终端输入 bash 命令就可以切换为 bash 了)。

sh 和 bash 都是常见的Unix shell,其实还有另外一个是 dash,接下来看下三者的联系和区别。

sh

sh 是 Shell 的缩写,是Unix/linux系统的默认shell,也是最古老的shell之一。sh是标准的POSIX shell,有许多不同版本和实现,如 Bourne shell 和 POSIX shell。

bash

bash 是 Bourne-AgAIn Shell 的缩写,是 sh 的增强版,具有更多的功能和选项。bash提供了命令自动补全、历史记录、别名、作业控制等特性。bash 是大多数 Linux 发行版及macOS 系统的默认 shell。

dash

dash 是 Debian Almquist shell 的缩写,是从.NETBSD 派生而来的轻量级 shell,专门为 Debian 发行版而设计。与 bash 相比,dash 的代码更精简,启动更快,但提供的特性较少。在 Debian 系统上,dash 通常用作 /bin/sh(而不是bash),因为 dash 更加符合 POSIX 标准,并且启动速度更快。

在很多 Linux 中,/bin/sh 是指向 /bin/bash 的,即 /bin/sh 是 /bin/bash 的软链接

# ls -l /bin/sh
lrwxrwxrwx 1 root root 4 Oct 15  2017 /bin/sh -> bash

在 Debian 系统和基于 Debian 的发行版中,/bin/sh 是指向 /bin/dash 的

# ls -l /bin/sh
lrwxrwxrwx 1 root root 4 Oct 15  2017 /bin/sh -> dash

切换 sh 以使用 bash 而不是 dash 的方法也很简单,因为 /bin/sh 是软链接,只需更改一下指向 /bin/bash 就好了,执行如下命令

# ln -sf /bin/bash /bin/sh

如果想切换到 dash,执行如下命令

# ln -sf /bin/dash /bin/sh

如果是在制作 Docker 镜像,想进入基于此镜像的容器后默认使用 bash,可以在对应的 Dockerfile 中添加如下一行

RUN ln -sf /bin/bash /bin/sh

如果使用的虚拟机默认使用的 sh 或者 dash 的话,想要以后登录后都默认使用 bash,可以使用 chsh 命令来改变指定用户的默认 shell 类型,命令如下:

chsh -s /bin/bash user

将命令中的 user 改成自己的用户名,下次登录时,将会使用 bash 作为默认 shell 终端类型。



Tags:Shell   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
Linux 系统 Shell 中那些特殊变量
在Shell脚本中,$符号有多种含义,它通常用于表示变量、特殊变量或参数,今天介绍几个特殊的变量。 $0表示shell脚本文件本身 $1 ~ $n脚本的位置参数,表示脚本或函数的参数。例如,$1...【详细内容】
2023-11-14  Search: Shell  点击:(217)  评论:(0)  加入收藏
Spring Boot 打包并结合 Shell 脚本命令部署
本篇和大家分享的是 Spring Boot 打包并结合 Shell 脚本命令部署,重点在分享一个shell 程序启动工具,希望能便利工作; profiles指定不同环境的配置 maven-assembly-plugin打...【详细内容】
2023-08-08  Search: Shell  点击:(251)  评论:(0)  加入收藏
Python 运行 shell 命令的一些方法
我们知道,python 在自动化领域中被广泛应用,可以很好地自动化处理一些任务,就比如编写 Python 脚本自动化执行重复性的任务,如文件处理、数据处理、系统管理等需要运行其他程序...【详细内容】
2023-07-17  Search: Shell  点击:(289)  评论:(0)  加入收藏
Sh、Bash 和 Dash 几种 Shell 的区别是什么?
在调试基于 Debian 的 Docker 镜像时,进入容器后在终端中按上箭头键后终端显示^[[A,下箭头显示^[[B,右箭头显示^[[C,左箭头显示^[[D,按删除键也是显示了几个特殊字符。很奇怪,仔细...【详细内容】
2023-06-11  Search: Shell  点击:(142)  评论:(0)  加入收藏
如何入门 Linux Shell 脚本编写
各位读者,我们将在本文中介绍如何在 Linux 或 UNIX 系统中入门 Shell 脚本编写。什么是 Shell 呢?Shell(交互界面)是类 UNIX/Linux 操作系统中的一个解释器。它将用户输入的命令...【详细内容】
2023-05-22  Search: Shell  点击:(345)  评论:(0)  加入收藏
9 个常用的 Shell 脚本,面试也常问~
作者:阿良 来自:DevOps技术栈1、Dos 攻击防范(自动屏蔽攻击 IP)2、Linux 系统发送告警脚本3、MySQL 数据库备份单循环#!/bin/bashDATE=$(date +%F_%H-%M-%S)HOST=localhostUSER=...【详细内容】
2022-08-29  Search: Shell  点击:(406)  评论:(0)  加入收藏
使用 shell 命令打开 Windows 特殊文件夹与隐藏目录
在 Windows 中有些特殊文件夹或隐藏目录可以用 shell 命令打开。例如系统下载目录,按 Win + R 输入 shell:Downloads 再回车就可以打开。编写程序时也可以用代码调用 shell...【详细内容】
2022-08-16  Search: Shell  点击:(894)  评论:(0)  加入收藏
Shell 脚本中经典的13个面试题
资料推荐:109个shell脚本案例174道运维面试题/128道k8s面试题/108道shell脚本面试题······ 经典的Shell十三问 1. 为何叫做she...【详细内容】
2022-06-30  Search: Shell  点击:(481)  评论:(0)  加入收藏
有什么类 XShell 或者 Putty 的工具?最最最好用的远程工具没有之一
大家好,作为互联网农名工离不开终端命令行,在工作中用的最多的工具就是「终端连接工具」了,而且企业中 Linux 服务器居多,通过终端连接工具连到服务器,在此之上我们可以排查一些...【详细内容】
2022-06-16  Search: Shell  点击:(445)  评论:(0)  加入收藏
Xonsh Shell:在 Linux 终端结合 Bash Shell 和 Python 的最佳特性
最受欢迎的 shell 是什么?我猜你会回答 bash 或者 zsh,没错,的确如此。UNIX 和 Linux 系统上有许多可用的 shell,包括 Bash、Ksh、Zsh、Fish 等等。最近,我碰到了另外一个 shell,...【详细内容】
2022-03-25  Search: Shell  点击:(343)  评论:(0)  加入收藏
▌简易百科推荐
电脑操作系统:从初创到高级的演变历程
自电脑诞生以来,操作系统作为其重要组成部分,不断推动着电脑技术的进步与发展。本文将带您回顾电脑操作系统的发展历程,探究其在不同阶段的特点与影响。一、早期操作系统:真空管...【详细内容】
2024-01-16  金先生    Tags:操作系统   点击:(75)  评论:(0)  加入收藏
Linus “温馨提示”:Intel Xe驱动代码严重缺乏测试
Linux 6.8 的 Direct Rendering Manager (DRM) 内核图形 / 显示驱动程序更新包括新的英特尔 "Xe"DRM 和 PowerVR Imagination 驱动程序、实验形式的 AMD 色彩管理属性、Rasp...【详细内容】
2024-01-15  OSC开源社区    Tags:Linus   点击:(84)  评论:(0)  加入收藏
亚马逊开发基于Linux的操作系统,以摆脱Android依赖
Lowpass 记者 Janko Roettgers 从多方消息来源得知,亚马逊一直在开发一种新的操作系统 —— 内部代号为 “Vega”,以便在 Fire TV、智能显示器和其他联网设备上取代...【详细内容】
2023-11-12    OSC开源社区  Tags:操作系统   点击:(157)  评论:(0)  加入收藏
ghostWindows系统介绍
Ghost windows系统是指通过赛门铁克公司(Symantec Corporation)开发的ghost软件在装好的操作系统中进行镜像克隆的版本,通常ghost用于操作系统的备份,在系统不能正常启动的时候...【详细内容】
2023-08-22  哆啦心教    Tags:ghostWindows   点击:(366)  评论:(0)  加入收藏
Windows和Linux究竟有什么不同?
Windows和Linux是两种不同的操作系统,它们各有优缺点,适用于不同的场景和用户。本文将从以下几个方面来剖析它们的区别:- 开源性- 界面风格- 驱动程序- 软件支持- 安全性- 系统...【详细内容】
2023-08-21  霸都嵌入式  今日头条  Tags:Windows   点击:(307)  评论:(0)  加入收藏
电脑主流的操作系统有哪些
本文将介绍一些目前主流的操作系统,帮助读者了解它们的特点和适用场景。微软的Windows系统:Windows操作系统是微软公司开发的一系列操作系统,广泛应用于家庭和个人环境。其中,Wi...【详细内容】
2023-07-21  况成放    Tags:操作系统   点击:(192)  评论:(0)  加入收藏
操作系统的可扩展访问控制
访问控制是操作系统安全的基石,当前的操作系统已部署了很多访问控制的模型:Unix和Windows NT多用户安全;SELinux中的类型执行;反恶意软件产品;Apple OS X,Apple iOS和Google Andro...【详细内容】
2023-07-13    喔家ArchiSelf  Tags:操作系统   点击:(285)  评论:(0)  加入收藏
电脑的安全模式
电脑的安全模式,你可能在遇到一些故障或问题时听说过这个词。它是一个被设计用来帮助你解决电脑问题的特殊模式。在本文中,我将向大家详细介绍什么是电脑的安全模式以及它的作...【详细内容】
2023-07-12  亚托克索的日记    Tags:安全模式   点击:(205)  评论:(0)  加入收藏
计算机操作系统的发展历程
内容提要:这是一篇高级科普文章,比较全面地介绍了计算机操作系统(包括OS/360、UNIX、DOS、MacOS、NetWare、Windows、Linux等)的发展历程,重点介绍Windows和Linux的起源和发展。...【详细内容】
2023-07-12  吴国发    Tags:操作系统   点击:(231)  评论:(0)  加入收藏
电脑操作系统:概念、组成、种类和功能
内容提要:本文详细介绍电脑操作系统,包括计算机及其操作系统的基本概念,操作系统的组成、种类、功能等。这里,“电脑”包括电子计算机、智能手机和其它智能设备的控制核心。关键...【详细内容】
2023-07-07  吴国发  搜狐号  Tags:操作系统   点击:(346)  评论:(0)  加入收藏
站内最新
站内热门
站内头条