小编典典

退出 bash 脚本但不退出终端的任何方式

all

当我exit在 shell 脚本中使用命令时,脚本将终止终端(提示符)。有什么方法可以终止脚本然后留在终端中?

我的脚本run.sh预计将通过直接获取或从另一个脚本获取来执行。

编辑:更具体地说,有两个脚本run2.sh作为

...
. run.sh
echo "place A"
...

并且run.sh作为

...
exit
...

当我运行它时. run2.sh,如果它在代码行中命中exitrun.sh我希望它停止到终端并留在那里。但是使用exit,整个终端都会关闭。

PS:我尝试过使用return,但echocodeline仍然会被执行....


阅读 125

收藏
2022-06-02

共1个答案

小编典典

“问题”实际上是您正在采购而不是执行脚本。当您获取文件时,其内容将在当前 shell 中执行,而不是生成子
shell。所以一切,包括退出,都会影响当前的shell。

而不是使用exit,你会想要使用return

2022-06-02