Ubuntu切换默认sh为bash或者dash

Posted wwlww

tags:

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

Ubuntu切换默认sh为bash或者dash
 

1 bash与dash


从Ubuntu 6.10开始,默认使用dash(theDebian Almquist Shell)而不是bash(the GNUBourne-Again Shell).

但Login Shell还是bash. 原因是dash更快、更高效,而且它符合POSIX规范。Ubuntu在启动的时候会运行很多shell脚本,使用dash可以加快启动速度。

1.1 什么是bash ?


Bash(GNU Bourne-Again Shell)是许多Linux平台的内定Shell,事实上,还有许多传统UNIX上用的Shell,像tcsh、csh、ash、bsh、ksh等等,Shell Script大致都类同,当您学会一种Shell以后,其它的Shell会很快就上手,大多数的时候,一个Shell Script通常可以在很多种Shell上使用

1.2 什么是dash ?


dash is the standard command interpreter for the system. The current

version of dash is in the process of being changed to conform with the

POSIX 1003.2 and 1003.2a specifications for the shell.

2 切换bash和dash


2.1 查看与使用


先用命令ls -l /bin/sh看看

/bin/sh -> dash

技术分享图片

我们会发现Ubuntu默认采用的是 dash

2.2 切换sh为bash


如果要修改默认的sh,可以采用命令

sudo dpkg-reconfigure dash

技术分享图片

然后选择

技术分享图片

成功后再执行

ll /bin/sh

结果是: /bin/sh -> bash

技术分享图片

修改成功!

2.3 切换sh为dash


当然我们也可以使用

sudo dpkg-reconfigure dash

把sh修改回去

3 链接


Dash与Bash的语法区别

以上是关于Ubuntu切换默认sh为bash或者dash的主要内容,如果未能解决你的问题,请参考以下文章

sh Ubuntu Dash to Bash(和返回):更改默认shell环境(因为Dash是一个精简Bash)

sh Ubuntu Dash to Bash(和返回):更改默认shell环境(因为Dash是一个精简Bash)

sh Ubuntu Dash to Bash(和返回):更改默认shell环境(因为Dash是一个精简Bash)

Ubuntu下把缺省的dash shell修改为bash shell

shell里一个let命令,用sh跑不了,但bash可以,发现bin里面sh是dash的链接,那么sh和bash功能上啥区别

关于sh,bash和dash