Как указывает @michael_bitard, source
является встроенным в bash.Оболочка по умолчанию в Ubuntu - dash
, как можно увидеть здесь:
# ls -l /bin/sh
lrwxrwxrwx 1 root root 4 Jan 22 17:49 /bin/sh -> dash
Чтобы использовать bash
для запуска команды, измените инструкцию RUN
на
RUN cd ~/catkin_ws/src && \
/opt/ros/kinetic/bin/catkin_init_workspace && \
cd ~/catkin_ws && \
/bin/bash -c "source /home/ubuntu/.bashrc; catkin_make"
Другойможно установить переменную окружения BASH_ENV
, которая должна указывать указанный файл (/home/ubuntu/.bashrc
) перед запуском сценария bash catkin_make
, как упоминалось здесь .
ENV BASH_ENV /home/ubuntu/.bashrc
RUN cd ~/catkin_ws/src && \
/opt/ros/kinetic/bin/catkin_init_workspace && \
cd ~/catkin_ws && \
/bin/bash -c "catkin_make"