国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

sh、bash 和 dash 幾種 shell 的區(qū)別是什么?

這篇具有很好參考價(jià)值的文章主要介紹了sh、bash 和 dash 幾種 shell 的區(qū)別是什么?。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

在調(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 的縮寫(xiě),是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 的縮寫(xiě),是 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 的縮寫(xiě),是從 NetBSD 派生而來(lái)的輕量級(jí) shell,專(zhuān)門(mén)為 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)改變指定用戶(hù)的默認(rèn) shell 類(lèi)型,命令如下:

chsh -s /bin/bash user

將命令中的 user 改成自己的用戶(hù)名,下次登錄時(shí),將會(huì)使用 bash 作為默認(rèn) shell 終端類(lèi)型。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-485870.html

到了這里,關(guān)于sh、bash 和 dash 幾種 shell 的區(qū)別是什么?的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【Spring】基于注解方式存取JavaBean:Spring有幾種注入方式?有什么區(qū)別?

    【Spring】基于注解方式存取JavaBean:Spring有幾種注入方式?有什么區(qū)別?

    ?Hello,我是小黃。眾所周知,Spring是一個(gè)開(kāi)源的Java應(yīng)用程序框架,其中包括許多通過(guò)注解實(shí)現(xiàn)依賴(lài)注入的功能。Spring提供了多種注入方式,可以滿足不同的需求和場(chǎng)景。常見(jiàn)的注入方式包括構(gòu)造函數(shù)注入、Setter方法注入和屬性注入。不同的注入方式有不同的適用場(chǎng)景和優(yōu)缺

    2024年02月11日
    瀏覽(19)
  • shell是什么?shell與linux的區(qū)別是什么?

    shell是什么?shell與linux的區(qū)別是什么?

    在計(jì)算機(jī)中,Shell俗稱(chēng)殼(用來(lái)區(qū)別于核),Shell是Linux和Unix下的命令解析器。 用來(lái)為用戶(hù)提供操作界面的軟件(命令解析器)。 類(lèi)似于DOS和Windows下的命令解析器:command.com、cmd.exe。 這個(gè)Shell(命令解析器)的作用: 用于接收用戶(hù)命令,然后調(diào)用相應(yīng)的應(yīng)用程序。 (將用戶(hù)

    2023年04月08日
    瀏覽(17)
  • 解決 -bash: *.sh: Permission denied 的問(wèn)題

    ?????????今天,在新的開(kāi)發(fā)環(huán)境中,執(zhí)行sh腳本的時(shí)候,出現(xiàn)了下面的問(wèn)題: -bash: *.sh: Permission denied。 ????????使用ll -rt命令,看下sh腳本的權(quán)限。 ????????未做處理之前: ????????可以看到,之前的sh腳本是沒(méi)有執(zhí)行權(quán)限標(biāo)識(shí)(x)的。因此定位到原因,是 sh腳本

    2024年02月03日
    瀏覽(23)
  • windows下在cmd和git bash中執(zhí)行bash download.sh失敗

    windows下在cmd和git bash中執(zhí)行bash download.sh失敗

    cmd報(bào)錯(cuò)信息: 解決辦法: win64-wget-1.21.4 安裝軟件wget,如下這是64位的包,解壓后,下面有個(gè)wget.exe,拷貝到C:WindowsSystem32、 然后打開(kāi)cmd,執(zhí)行wget -V 如上,有版本信息就OK了。 再一次進(jìn)入git bash中執(zhí)行bash download.sh,下載成功:

    2024年02月02日
    瀏覽(22)
  • 在當(dāng)前bash(sh)中執(zhí)行腳本和注冊(cè)函數(shù)

    在當(dāng)前bash(sh)中執(zhí)行腳本和注冊(cè)函數(shù)

    在研究《管理Python虛擬環(huán)境的腳本》時(shí),我們使用了source指令而沒(méi)有使用sh或者bash來(lái)執(zhí)行腳本,就是因?yàn)閟ource指令可以讓腳本在當(dāng)前bash(sh)中執(zhí)行;而sh或者bash則會(huì)新啟動(dòng)一個(gè)bash來(lái)執(zhí)行。 我們可以通過(guò)下面這個(gè)腳本做測(cè)試 processInfo: 45322 bash 40883 bash 當(dāng)前bash的進(jìn)程ID是40883,新

    2024年01月20日
    瀏覽(25)
  • Windows 下 bat 腳本調(diào)用 Git bash 環(huán)境 sh 腳本

    D:InstallGit start.sh 腳本 雙擊 start.bat 我們下期見(jiàn),拜拜!

    2024年04月25日
    瀏覽(28)
  • Docker容器/bin/bash start.sh無(wú)法找到not found

    Docker容器/bin/bash start.sh無(wú)法找到not found

    記一次Dockerfile構(gòu)建的Docker鏡像,啟動(dòng)容器時(shí)sh: not found的問(wèn)題 Dockerfile構(gòu)建的Docker鏡像,啟動(dòng)容器時(shí)找不到start.sh,執(zhí)行docker run 命令時(shí)報(bào)錯(cuò):/bin/sh: 1: /data/server/start.sh: not found Dockerfile如下(腳本正確無(wú)內(nèi)容錯(cuò)誤) 造成這個(gè)問(wèn)題的原因主要有以下幾點(diǎn): docker中的文件夾沒(méi)有獲得權(quán)

    2024年02月14日
    瀏覽(35)
  • shell進(jìn)程,終端的概念,以及它們之間有什么區(qū)別與聯(lián)系?

    這個(gè)系列的文章有四篇,其目的是為了搞清楚 : 進(jìn)程,shell,shell進(jìn)程,終端,控制終端,前臺(tái)進(jìn)程,后臺(tái)進(jìn)程,控制進(jìn)程,前臺(tái)進(jìn)程組,后臺(tái)進(jìn)程組,會(huì)話,守護(hù)進(jìn)程,init進(jìn)程,用戶(hù)進(jìn)程,系統(tǒng)進(jìn)程 它們之間的聯(lián)系與區(qū)別 系列文章第二篇傳送門(mén):全面理解進(jìn)程組,會(huì)話的

    2024年02月04日
    瀏覽(29)
  • Windows下運(yùn)行.sh文件,可在git bash中運(yùn)行,也可在cmd、pycharm 終端中運(yùn)行。.sh文件中指定虛擬環(huán)境。

    Windows下運(yùn)行.sh文件,可在git bash中運(yùn)行,也可在cmd、pycharm 終端中運(yùn)行。.sh文件中指定虛擬環(huán)境。

    從github上下載的源碼往往用.sh文件控制代碼的參數(shù)及運(yùn)行,對(duì)于Windows下的新手跑項(xiàng)目很不友好。這里我總結(jié)一下Windows下運(yùn)行.sh文件步驟。 需翻墻,下載地址如下: Git - Downloads (git-scm.com) https://www.git-scm.com/download/ 選擇安裝目錄后,一路next安裝即可,我裝在了F盤(pán)。細(xì)致的可參

    2024年02月03日
    瀏覽(24)
  • acme.sh自動(dòng)配置免費(fèi)SSL泛域名證書(shū)并續(xù)期(Aliyun + Debian + nginx)

    以前使用Certbot自動(dòng)配置SSL證書(shū),需要安裝snap管理器再安裝Certbot,期間還要去找AliDNS腳本,比較麻煩。如果不想如此,推薦使用acme.sh自動(dòng)化腳本,更方便快捷。 1. 安裝acme.sh 腳本會(huì)安裝home目錄下:~/.acme.sh/。同時(shí)會(huì)創(chuàng)建一個(gè)cronjob,每天檢測(cè)證書(shū),快過(guò)期自動(dòng)更新。 2. 更換證

    2024年02月04日
    瀏覽(23)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包