调用奇异 shell 后在脚本中运行下一个命令

问题描述

我有一个包含多个奇点命令的 shell 脚本 myscript.sh

#!/bin/sh/

singularity shell -B /home/user/Desktop/ /home/user/image/some_image.simg
/home/user/miniconda/activate my_env
cd /app/app_folder/scripts
ls -ash

当我运行脚本时,它在调用 shell 后卡住了。

singularity>

但是我希望后续命令在调用的 shell 中运行。我该怎么办?

解决方法

您正在连接到 shell 脚本内的交互式命令 shell,您只需要执行命令即可。

singularity exec ...

https://sylabs.io/guides/3.7/user-guide/cli/singularity_exec.html

,

所以基本上我不得不用 shell 替换 exec 并将后续命令保存在不同的可执行 bash 脚本 newscript.sh 中,其中包含

#!/bin/sh

/home/user/miniconda/activate my_env
cd /app/app_folder/scripts
ls -ash

然后运行 ​​myscript.sh

#!/bin/sh

singularity exec -B /home/user/Desktop/ /home/user/image/some_image.simg bash newscript.sh

newscript.sh中调用奇点shell后,此方法将在奇点shell中运行myscript.sh

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...