我正在运行openjdk:13-alpine docker容器,并将garmin connectiq-sdk文件挂载到容器中。尝试运行monkeyc命令失败,并显示"not found“。
~/projects/garmin$ docker container run --rm -it --name monkeyc -v $(pwd):/home/garmin/ -w /home/garmin/ openjdk:13-alpine ash
/home/garmin # ./connectiq-sdk/bin/monkeyc --version
ash: ./connectiq-sdk/bin/monkeyc: not found在容器外部,该命令按预期工作
~/projects/garmin$ ./connectiq-sdk/bin/monkeyc --version
Connect IQ compiler version 3.0.3发布于 2019-02-04 10:40:05
monkeyc命令是一个bash脚本。容器中的高山Linux上未安装Bash shell。应该改用ash shell。在monkeyc脚本中从bash切换到ash是可行的。
~/projects/garmin$ docker container run --rm -it --name monkeyc -v $(pwd):/home/garmin/ -w /home/garmin/ openjdk:13-alpine ash
/home/garmin # ./connectiq-sdk/bin/monkeyc --version
ash: ./connectiq-sdk/bin/monkeyc: not found
/home/garmin # cat ./connectiq-sdk/bin/monkeyc
#!/bin/bash
MB_HOME="$( cd "$( dirname "$0" )" && pwd )"
java -classpath "$MB_HOME"/monkeybrains.jar com.garmin.monkeybrains.Monkeybrains "$@"
/home/garmin # vi ./connectiq-sdk/bin/monkeyc
/home/garmin # ./connectiq-sdk/bin/monkeyc --version
Connect IQ compiler version 3.0.3
/home/garmin # cat ./connectiq-sdk/bin/monkeyc
#!/bin/ash
MB_HOME="$( cd "$( dirname "$0" )" && pwd )"
java -classpath "$MB_HOME"/monkeybrains.jar com.garmin.monkeybrains.Monkeybrains "$@"https://stackoverflow.com/questions/54509566
复制相似问题