[英]singularity shell inside a bash script
我正在尝试在脚本中运行奇异点 shell 并在奇异点图像中运行多个命令,包括conda
。 下面是我试图做的一个例子。 在下面运行my_script.sh
不起作用。 在 shell 命令之后,其他一切似乎都在奇点图像之外运行。
## my_script.sh ##
singularity shell image.sif
source activate test_env
pbsv --version
conda deactivate
我知道我可以将所有命令放在another_script.sh
中,然后使用singularity exec image.sif another_script.sh
调用该脚本,但我试图避免创建多个小脚本。
是否可以在 bash 脚本中运行奇点 shell ? 或者是否可以在避免创建脚本的同时在奇点内运行多个命令?
singularity shell
用于获取交互式 shell session,不运行脚本。 在您的示例中,后续命令均在 shell 进程完成后运行,而不是在 shell 内运行。
如果删除第一行, singularity exec image.sif my_script.sh
将在容器内运行脚本。 conda deactivate
也是不必要的,因为环境在容器内。
我发现我可以运行多个命令而无需创建脚本。
不要使用奇异点 shell,而是使用奇异点 exec:
singularity exec bash -c "source activate test_env && pbsv --version"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.