Bash 调用singularity shell后在脚本中运行下一个命令
我有一个shell脚本,里面有多个奇点命令Bash 调用singularity shell后在脚本中运行下一个命令,bash,docker,shell,singularity-container,singularity-compose,Bash,Docker,Shell,Singularity Container,Singularity Compose,我有一个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 #!/bin/sh singularity exec -B /home/user/Desktop/ /home/
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
#!/bin/sh
singularity exec -B /home/user/Desktop/ /home/user/image/some_image.simg bash newscript.sh
当我运行脚本时,它会在调用shell后被卡住
singularity>
但是,我希望后续命令在调用的shell中运行。如何执行此操作?您正在连接到shell脚本中的交互式命令shell,只需执行命令即可
singularity exec ...
如果要连接到shell脚本中的交互式命令shell,只需执行命令即可
singularity exec ...
因此基本上我必须用
exec
替换shell
,并将后续命令保存在不同的可执行bash脚本newscript.sh
中,其中包含
#!/bin/sh
/home/user/miniconda/activate my_env
cd /app/app_folder/scripts
ls -ash
然后运行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
#!/bin/sh
singularity exec -B /home/user/Desktop/ /home/user/image/some_image.simg bash newscript.sh
在
myscript.sh
中调用singularity shell后,此方法将在singularity shell中运行newscript.sh
,因此基本上我必须将shell
替换为exec
,并将后续命令保存在另一个包含
#!/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
#!/bin/sh
/home/user/miniconda/activate my_env
cd /app/app_folder/scripts
ls -ash
#!/bin/sh
singularity exec -B /home/user/Desktop/ /home/user/image/some_image.simg bash newscript.sh
然后运行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
#!/bin/sh
singularity exec -B /home/user/Desktop/ /home/user/image/some_image.simg bash newscript.sh
在
myscript.sh
中调用singularity shell后,此方法将在singularity shell中运行newscript.sh
,这是正确的,但该链接确实很旧。当前版本的链接是:旧版本的文档可在Thank you@tsnowlanth获得。这是正确的,但该链接确实很旧。当前版本的链接为:和旧版本的文档可从Thank you@tsnowlan获得
#!/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
#!/bin/sh
singularity exec -B /home/user/Desktop/ /home/user/image/some_image.simg bash newscript.sh