這個問題主要是由不兼容引起的。主要包括幾種不兼容:
- 硬件架構不兼容。在 amd 和 arm 架構下構建的鏡像很有可能不能互通。
解決辦法:針對不同的硬件架構構建不同的鏡像,或者構建跨架構(multi-arch)的鏡像。 - shell 執行不兼容。腳本可能是基於 bash 寫的,不同的 shell 解釋器存在不兼容的情況,而有些 Linux 發行版可能沒有 bash,或者默認的 shell 解釋器不是 bash。解決辦法:在 shell 腳本的開頭指定需要使用的解釋器,比如#!/bin/bash,並且注意使用的語法。
- 存在非 *NIX 環境的換行符。比如在 Windows 環境下編寫的一些代碼,移植到 Linux 環境下可能會出問題。
解決辦法:將 CRLF 替換為 LF。
————————————————
版權聲明:本文為CSDN博主「元無心」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/HermitSun/article/details/109145856