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

10.docker exec -it /bin/bash報錯解決、sh與bash區(qū)別

這篇具有很好參考價值的文章主要介紹了10.docker exec -it /bin/bash報錯解決、sh與bash區(qū)別。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

報錯

進入容器時,報如下錯誤

dockeruser@dell-PowerEdge-R740:~$ docker exec -it daf2 /bin/bash
OCI runtime exec failed: exec failed: unable to start container process: exec: "/bin/bash": stat /bin/bash: no such file or directory: unknown

解決

將bin/bash換成bin/sh

dockeruser@dell-PowerEdge-R740:~$ docker exec -it daf2 /bin/sh

分析

制作鏡像時使用了精簡版,只裝了sh命令,未安裝bash。

拓展

(1)shell簡介

Shell是一種應(yīng)用程序,該應(yīng)用程序提供了一個界面,用戶通過這個界面訪問操作系統(tǒng)內(nèi)核的服務(wù)。Shell 是一個用 C 語言編寫的程序,是用戶使用 Linux 的橋梁。Shell 既是一種命令語言,又是一種程序設(shè)計語言。

sh(Bourne Shell)是一個早期的重要shell,1978年由史蒂夫·伯恩編寫,并同Version 7 Unix一起發(fā)布。
bash(Bourne-Again Shell)是一個為GNU計劃編寫的Unix shell。1987年由布萊恩·福克斯創(chuàng)造。主要目標是與POSIX標準保持一致,同時兼顧對sh的兼容,是各種Linux發(fā)行版標準配置的Shell,在Linux系統(tǒng)上/bin/sh往往是指向/bin/bash的符號鏈接。

(2)#!

  • #!?是一個特殊標記,說明這是一個可執(zhí)行的腳本。除了第一行,其他以#開頭的都不再生效,為注釋。
  • #!?后面是腳本的解釋器程序路徑。這個程序可以是shell,程序語言或者其他通用程序,常用的是bash、sh。

(3)sh與bash區(qū)別

  • sh 跟bash的區(qū)別是bash是否開啟POSIX模式。
  • sh是bash的一種特殊的模式,sh就是開啟了POSIX標準的bash, /bin/sh 相當于 /bin/bash --posix。
  • 在Linux系統(tǒng)上/bin/sh往往是指向/bin/bash的符號鏈接
ln -s /bin/bash /bin/sh
  • sh 遵循POSIX規(guī)范:“當某行代碼出錯時,不繼續(xù)往下解釋”。bash 就算出錯,也會繼續(xù)向下執(zhí)行。

hello.sh腳本:

#!/bin/sh
source err
echo "sh hello"

hello2.sh腳本:

#!/bin/bash
source err
echo "bash hello2"

輸出結(jié)果:文章來源地址http://www.zghlxwxcb.cn/news/detail-844641.html

[root@admin]# bash hello2.sh 
hello2.sh: line 2: err: No such file or directory
hello2
[root@admin]# sh hello.sh 
hello.sh: line 2: source: err: file not found
[root@admin]# bash --posix hello2.sh 
hello2.sh: line 2: source: err: file not found

到了這里,關(guān)于10.docker exec -it /bin/bash報錯解決、sh與bash區(qū)別的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • kafka/bin/kafka-run-class.sh: line 342: exec: java: not found

    kafka/bin/kafka-run-class.sh: line 342: exec: java: not found

    本來jps看了下,kafka和zookeeper都起來了, 手癢,非要換寶塔的進程守護管理器,選目錄為/home/kafka,命令為/home/kafka/bin/zookeeper-server-start.sh ?/home/kafka/config/zookeeper.properties 就在日志里看到 kafka/bin/kafka-run-class.sh: line 342: exec: java: not found 網(wǎng)上搜了大量的資料,有的說 原因:jav

    2024年02月12日
    瀏覽(19)
  • mac安裝docker報錯bash: /usr/local/bin/docker: No such file or directory

    mac安裝docker報錯bash: /usr/local/bin/docker: No such file or directory

    按照網(wǎng)上查的命令用brew安裝(安裝命令如下:) #brew install --cask ?docker 安裝結(jié)果也顯示安裝成功: 然后按照各種貼子的說明去檢查docker版本時(docker --version)會報錯? bash: /usr/local/bin/docker: No such file or directory ,這一下讓我很懵,不是都是說brew安裝后就可以了嗎,我怎么報錯了,

    2024年02月02日
    瀏覽(29)
  • Docker exec進入容器后不顯示容器ID,顯示bash-4,4#的解決方法

    Docker exec進入容器后不顯示容器ID,顯示bash-4,4#的解決方法

    錯誤情景 : docker exec -it 6829a4eaef65 bash 命令進入容器, 不是出現(xiàn) [root@6829a4eaef65 /]# 而是出現(xiàn)了bash-4.4# 產(chǎn)生原因 :命令行顯示-bash-4.2# 的原因是在當前用戶的root目錄缺少了兩個文件 解決方法: 1. 執(zhí)行命令: docker exec -it 6829a4eaef65 bash 進入容器 2. 執(zhí)行命令: 執(zhí)行命令,持久化

    2024年02月09日
    瀏覽(27)
  • sh、bash 和 dash 幾種 shell 的區(qū)別是什么?

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

    2024年02月09日
    瀏覽(21)
  • dockerfile報錯:“/bin/sh -c yum -y install“

    dockerfile報錯:“/bin/sh -c yum -y install“

    主要錯誤 ERROR: failed to solve: process “/bin/sh -c yum -y install vim” did not complete successfully: exit code: 1 主要是容器版本問題,推薦使用Centos7 比如我的dockerfile 文件

    2024年02月22日
    瀏覽(20)
  • 執(zhí)行docker- compose命令遇到-bash: /usr/local/bin/docker-compose: 無法執(zhí)行二進制文件 問題的一種解決方法

    執(zhí)行docker- compose命令遇到-bash: /usr/local/bin/docker-compose: 無法執(zhí)行二進制文件 問題的一種解決方法

    一、問題描述 當安裝好docker-compose并添加執(zhí)行權(quán)限后,執(zhí)行命令docker-compose 相關(guān)命令時出現(xiàn) -bash: /usr/local/bin/docker-compose: 無法執(zhí)行二進制文件 二、解決思路 應(yīng)該是安裝包有問題,網(wǎng)上找了幾種重新安裝方法途徑,還是會出現(xiàn)這個問題,最終找到一種可靠重新安裝的解決方法

    2024年02月08日
    瀏覽(54)
  • 成功解決/bin/sh: cc: command not found和/bin/sh: g++: command not found

    成功解決/bin/sh: cc: command not found和/bin/sh: g++: command not found 目錄 解決問題 解決思路 解決方法 make: cc: Command not found /bin/sh: cc: command not found expr: syntax error expr: syntax error make: cc: Command not found I llama.cpp build info: I UNAME_S: ? Linux I UNAME_P: ? x86_64 I UNAME_M: ? x86_64 I CFLAGS: ? ?-I. -Icommo

    2024年02月04日
    瀏覽(22)
  • docker容器使用/bin/bash命令

    docker容器使用/bin/bash命令

    本地運行命令和docker運行命令的解釋器不同,在本地已經(jīng)是 /bin/bash ,但是docker中仍然是 /bin/sh ,需要修改docker中 /bin/sh 為 /bin/bash 1、首先看docker容器的詳細信息。輸入“ docker container ls |grep xxxx ”,看其中的命令部分,如果是“ /bin/sh ”說明使用的不一定是 bash ,可能是da

    2024年02月14日
    瀏覽(22)
  • linux:docker /bin/bash作用

    參考: ????????docker run -it centos /bin/bash 后面的 bin/bash的作用

    2024年02月13日
    瀏覽(19)
  • 【麒麟V10系統(tǒng)x86環(huán)境--bash: ./install:/bin/bash:解釋器錯誤: 權(quán)限不夠】

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包