奇异运行并执行命令

时间:2018-06-26 10:40:16

标签: bash singularity-container

我知道如何执行奇点:

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

是否有一种方法可以执行一行(或更多)来运行上一条命令,然后以奇异的方式运行echo "hi there"? (当然,在生产中,我会使用比hi更复杂的东西)。完成此操作后,我希望我的奇点还可以互动使用。

类似这样的意图:

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 个答案:

答案 0 :(得分:1)

使用exec而不是run在容器内执行命令。添加外壳程序和脚本作为参数。

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

还要在runscript部分中将参数的执行作为默认的运行时命令添加。

%runscript
  exec "$@"

答案 1 :(得分:0)

这与以下问题非常相关:bash script to perform action in a singularity container it opens。解决方案在那里发布,基本上使用-c选项并生成bash控制台。