您好,登錄后才能下訂單哦!
運行./*.sh腳本文件時出現Permission denied錯誤的原因通常是權限不夠,解決辦法是chmod +x *.sh
項目使用阿里云鏡像服務自動構建Docker鏡像,本地開發環境構建時不能重現問題。
詳細排查后發現Dockerfile中CMD調用launch.sh的寫法是CMD ["./launch.sh"],問題就出在這里,修改為:CMD ["sh", "launch.sh"],問題解決。原因可能是開發環境使用的Win10沒有正確設置.sh文件權限,也可能是鏡像服務自動構建時沒有正確保留.sh文件權限。
關鍵還是分享下./launch.sh和sh launch.sh的3個區別:
./*.sh | sh *.sh | |
可執行屬性不同 | *.sh文件必須具有可執行屬性 | 不必須具有可執行屬性 |
執行方式不同 | 使用*.sh腳本文件中第一行指定的命令來解釋和執行,通常是:#!/bin/bash | 使用shell工具sh解釋和執行 |
兼容性不同 | 不受限于shell工具 | 受限于shell工具 |
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。