安裝應用程式后,我有 bash 腳本來加載 docker 影像(安裝后腳本)。
在終端上手動使用命令是有效的,但從安裝后腳本獲取:
docker: command not found
試過了,用絕對路徑(哪個docker)執行docker添加docker的路徑變數(執行PATH=\usr\bin\docker:$PATH)
我的 macOS 有問題還是腳本有問題。
原始腳本:我正在檢查 macOS 芯片,然后使用命令 docker info 嘗試是否安裝了 docker,如果安裝了它,則從作業目錄加載影像,否則先安裝 docker,然后加載影像。
#!/bin/bash
#
#
#
CheckVar=`which docker`
echo "$CheckVar"
if [[ `sysctl machdep.cpu.brand_string` == *"Intel"* ]]
then
if [[ `$CheckVar info` == *"Client"* ]];
then
echo "Mac Chip is Intel"
echo "Docker found!"
cd $Home/$DSTROOT/App
echo "Redirected to working dir.."
sudo `$CheckVar load -i app.tar`
echo "Success"
else
echo "Mac Chip is Intel"
echo "Docker not found installing"
cd $Home/$DSTROOT/App
echo "Redirected to working dir.."
sudo hdiutil attach IntelDocker.dmg
sudo /Volumes/Docker/Docker.app/Contents/MacOS/install
sudo hdiutil detach /Volumes/Docker
sudo `$CheckVar load -i app.tar`
echo "Success"
fi
else
if [[ `$CheckVar info` == *"Client"* ]];
then
echo "Mac Chip is AppleSilicon"
echo "Docker found!"
cd $Home/$DSTROOT/App
echo "Redirected to working dir.."
sudo `$CheckVar load -i app.tar`
echo "Success"
else
echo "Mac Chip is AppleSilicon"
echo "Docker not found installing"
cd $Home/$DSTROOT/App
echo "Redirected to working dir.."
sudo hdiutil attach IntelDocker.dmg
sudo /Volumes/Docker/Docker.app/Contents/MacOS/install
sudo hdiutil detach /Volumes/Docker
sudo `$CheckVar load -i app.tar`
echo "Success"
fi
fi
有什么解決辦法嗎?過去 3 天一直在嘗試解決此問題。
uj5u.com熱心網友回復:
首先確保您PATH的有效。它應該包含directory存盤docker可執行檔案的位置。而不是可執行檔案的絕對路徑。此外,execute PATH不是您設定值的方式。你用export
export PATH=/usr/bin:$PATH
更改您的測驗:
[ `$CheckVar info` == *"Client"* ]]至[ "$CheckVar" ]
來自man test:
-n STRING
the length of STRING is nonzero
STRING equivalent to -n STRING
CheckVar在系統上未找到 docker 的情況下,該變數為空。else安裝 docker 后在您的陳述句中重置它。
sudo /Volumes/Docker/Docker.app/Contents/MacOS/install
sudo hdiutil detach /Volumes/Docker
CheckVar=`which docker`
sudo $CheckVar load -i app.tar
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/517578.html
標籤:重击码头工人苹果系统
下一篇:為什么不能cd進入目標檔案夾?
