首页 > 解决方案 > 奇点运行并执行命令

问题描述

我知道如何运行奇点:

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

标签: bashsingularity-container

解决方案


使用exec, 在容器内执行命令,而不是run. 添加 shell 和脚本作为参数。

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

此外,在 runscript 部分中添加参数的执行作为默认运行时命令。

%runscript
  exec "$@"

推荐阅读