Команда Dockerfile RUN echo запускается с / bin / sh вместо / bin / sh - c - PullRequest
0 голосов
/ 06 апреля 2020

Этот dockerfile имеет искровой путь, получает имя файла и устанавливает его. Тем не менее, скрипт завершается ошибкой при первой команде echo. Похоже, что эхо запускается как / bin / sh вместо / bin / sh - c.

Как выполнить эту команду эха, используя / bin / sh - c? Это правильный способ реализации, я планирую использовать тот же лог c для других установок, таких как Mon go, Node et c.

FROM ubuntu:18.04

ARG SPARK_FILE_LOCATION="http://www.us.apache.org/dist/spark/spark-2.4.4/spark-2.4.4-bin-hadoop2.7.tgz"    
CHAR_COUNT=`echo "${SPARK_FILE_LOCATION}" | awk -F"${DELIMITER}" '{print NF-1}'`
RUN echo $CHAR_COUNT
RUN CHAR_COUNT=`expr $CHAR_COUNT + 1`
RUN SPARK_FILE_NAME=`echo ${SPARK_FILE_LOCATION} | cut -f${CHAR_COUNT} -d"/"`
RUN Dir_name=`tar -tzf $SPARK_FILE_NAME | head -1 | cut -f1 -d"/"`
RUN echo Dir_name
/bin/sh: 1: 'echo http://www.us.apache.org/dist/spark/spark-2.4.4/spark-2.4.4-bin-hadoop2.7.tgz | awk -F/ "{print NF-1}"': not found
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...