Особенность запустить и выполнить команду

Я знаю, как запустить особенность:

singularity run /mn/sarpanitu/singularity/test/fenics-and-more.img

Есть ли способ сделать одну строку (или более) для запуска предыдущей команды, а затем в единственном числе запустить echo "hi there"? (Конечно, я буду использовать что-то более сложное, чем привет в производстве). Как только это будет сделано, я хочу, чтобы моя сингулярность оставалась здоровой для интерактивного использования.

Так что-то вроде намерения:

singularity run /mn/sarpanitu/singularity/test/fenics-and-more.img -bash-command echo "hi there"

или же

singularity run /mn/sarpanitu/singularity/test/fenics-and-more.img -run-script-at-startup script.sh

2 ответа

Решение

Это очень связано со следующим вопросом: bash скрипт для выполнения действий в контейнере сингулярности, который он открывает. Решение размещено там, в основном с использованием -c вариант и порождение консоли bash.

Использование execдля выполнения команды внутри контейнера вместо run, Добавьте оболочку и скрипт в качестве параметров.

singularity exec /mn/sarpanitu/singularity/test/fenics-and-more.img /bin/sh script.sh

Кроме того, добавьте выполнение параметра в качестве команды времени выполнения по умолчанию в части runScript.

%runscript
  exec "$@"
Другие вопросы по тегам