我想根据运行docker映像的操作系统类型下载一个sdk。如何在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
答案 0 :(得分:1)
使用uname
命令。
x=$(uname)
在darwin系统上,它应输出Darwin
。
在您的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