android – 确定docker中的操作系统类型

我想下载一个sdk,具体取决于运行我的docker镜像的操作系统类型.如何在docker脚本中编写以下伪代码

RUN variable x = getOS()
if [ "$x" = "Darwin" ]; then
     RUN wget -q http://xxx/android-ndk-xxxx-darwin-x86_64.bin
else
     RUN wget -q http://xxx/android-ndk-xxxx-linux-x86_64.bin

最佳答案 使用uname命令.

x=$(uname)

在达尔文系统上,它应输出达尔文.

在您的dockerfile中,RUN命令可能如下所示:

RUN [ "$(uname)" = Darwin ] && system=darwin || system=linux; \
    wget -q http://xxx/android-ndk-xxxx-${system}-x86_64.bin

或者像这样(为了支持任意系统):

RUN system=$(uname); \
    wget -q http://xxx/android-ndk-xxxx-${system,}-x86_64.bin
点赞