自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Sh、Bash 和 Dash 幾種 Shell 的區(qū)別是什么?

系統(tǒng) Linux
Sh 和 Bash 都是常見(jiàn)的Unix Shell,其實(shí)還有另外一個(gè)是 Dash,接下來(lái)看下三者的聯(lián)系和區(qū)別。Sh 是 Shell 的縮寫,是Unix/Linux系統(tǒng)的默認(rèn)shell,Bash 是 Bourne-Again Shell 的縮寫,是 Sh 的增強(qiáng)版。dash 是 Debian Almquist shell 的縮寫,是從 NetBSD 派生而來(lái)的輕量級(jí) shell。

在調(diào)試基于 Debian 的 Docker 鏡像時(shí),進(jìn)入容器后在終端中按上箭頭鍵后終端顯示^[[A,下箭頭顯示^[[B,右箭頭顯示^[[C,左箭頭顯示^[[D,按刪除鍵也是顯示了幾個(gè)特殊字符。很奇怪,仔細(xì)看了一下,原來(lái)進(jìn)入容器的時(shí)候終端使用的 sh,切換為 bash 就好了(在終端輸入 bash 命令就可以切換為 bash 了)。

sh 和 bash 都是常見(jiàn)的Unix shell,其實(shí)還有另外一個(gè)是 dash,接下來(lái)看下三者的聯(lián)系和區(qū)別。

sh

sh 是 Shell 的縮寫,是Unix/Linux系統(tǒng)的默認(rèn)shell,也是最古老的shell之一。sh是標(biāo)準(zhǔn)的POSIX shell,有許多不同版本和實(shí)現(xiàn),如 Bourne shell 和 POSIX shell。

bash

bash 是 Bourne-Again Shell 的縮寫,是 sh 的增強(qiáng)版,具有更多的功能和選項(xiàng)。bash提供了命令自動(dòng)補(bǔ)全、歷史記錄、別名、作業(yè)控制等特性。bash 是大多數(shù) Linux 發(fā)行版及macOS 系統(tǒng)的默認(rèn) shell。

dash

dash 是 Debian Almquist shell 的縮寫,是從 NetBSD 派生而來(lái)的輕量級(jí) shell,專門為 Debian 發(fā)行版而設(shè)計(jì)。與 bash 相比,dash 的代碼更精簡(jiǎn),啟動(dòng)更快,但提供的特性較少。在 Debian 系統(tǒng)上,dash 通常用作 /bin/sh(而不是bash),因?yàn)?dash 更加符合 POSIX 標(biāo)準(zhǔn),并且啟動(dòng)速度更快。

在很多 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 系統(tǒng)和基于 Debian 的發(fā)行版中,/bin/sh 是指向 /bin/dash 的

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

切換 sh 以使用 bash 而不是 dash 的方法也很簡(jiǎn)單,因?yàn)?/bin/sh 是軟鏈接,只需更改一下指向 /bin/bash 就好了,執(zhí)行如下命令

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

如果想切換到 dash,執(zhí)行如下命令

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

如果是在制作 Docker 鏡像,想進(jìn)入基于此鏡像的容器后默認(rèn)使用 bash,可以在對(duì)應(yīng)的 Dockerfile 中添加如下一行

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

如果使用的虛擬機(jī)默認(rèn)使用的 sh 或者 dash 的話,想要以后登錄后都默認(rèn)使用 bash,可以使用 chsh 命令來(lái)改變指定用戶的默認(rèn) shell 類型,命令如下:

chsh -s /bin/bash user

將命令中的 user 改成自己的用戶名,下次登錄時(shí),將會(huì)使用 bash 作為默認(rèn) shell 終端類型。

責(zé)任編輯:姜華 來(lái)源: 今日頭條
相關(guān)推薦

2022-11-15 10:03:34

2023-10-23 11:07:37

HTTPRPC

2025-02-06 08:44:11

MySQLEXISTSIN

2016-03-21 10:40:53

RDDSpark SQL數(shù)據(jù)集

2024-12-30 07:20:00

Redis數(shù)據(jù)庫(kù)MySQL

2015-02-26 10:29:41

Google百度

2018-05-21 21:26:59

Apache HiveHbaseSQL

2021-10-27 08:54:11

Pythonencodeencoding

2017-11-21 22:49:10

2022-09-03 08:03:14

UbuntuDebian

2023-10-24 09:07:14

CookieSessionHTTP

2020-09-18 15:10:51

Web前端技術(shù)

2021-02-17 00:30:41

機(jī)器學(xué)習(xí)深度學(xué)習(xí)人工智能

2012-12-10 09:44:04

路由器本地回路

2022-11-18 16:10:03

云計(jì)算虛擬機(jī)

2023-06-09 09:10:06

nftablesiptables

2021-06-23 08:01:18

TypeScript interface type

2020-09-24 17:15:11

前端Web移動(dòng)

2023-10-06 00:16:21

RedisMySQL事務(wù)

2014-06-16 11:18:20

程序員
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)