我是shell脚本的新手,我创建了一个包含以下内容的run_all.sh
文件,
cd directory1/folder1
bash -l
conda activate py38
poetry install
./scripts/run_myscript.sh
如果我在终端一个接一个地执行这些行,我没有问题,但是当我把所有的run_all.sh
文件并执行(bash run_all.sh
)时,只有前两行被执行,然后它停止而不打印任何错误代码。
注意:我正在使用Sagemaker,它使用sh
作为默认shell,而不是bash
,因此在手动运行中,我启动新shell (bash -l
)通过conda (conda activate py38
)激活py38并安装要求…
如果你看到我在这里错过了什么,请告诉我。
天哪天哪
#!/bin/sh
cd directory1/folder1 && conda activate py38 && poetry install && ./scripts/run_myscript.sh
如果sh
是您的默认shell,并且您想要bash,那么像这样修改您的脚本:
#!/bin/bash -l
cd directory1/folder1
conda activate py38
poetry install
./scripts/run_myscript.sh