在 bash 脚本中使用 exit,但不要关闭终端

在 bash 脚本中使用 exit,但不要关闭终端

我创建了一个 shell 函数来方便地使用桌面搜索工具baloosearch。我将其创建为函数是有原因的。

现在,在这个函数中,我需要使用exit命令来退出循环、ifs 或case条件。问题是,当exit命令被执行时,它也会杀死我的终端窗口......

我的问题是,有没有办法使用exit,但不关闭终端窗口?

当使用这个东西作为 shell 脚本时,没问题,但我需要它作为 BASH 函数运行......

答案1

经过 1.5 分钟的研究后,我现在可以自己回答了。

解决方案是使用返回而不是退出。通过这种方式退出函数不会关闭终端,而是使 shell 会话保持打开状态。

答案2

在某些情况下,您需要退出而不是返回或中断,您可以在子终端内执行命令。$(cmd)那么 exit 将会退出子终端。请记住,将执行返回值。因此,echo -e "Result from cmd:\n$(cmd)"如果您只想要输出,也许可以用类似的东西包围。一般来说return应该足够了,但有时您不拥有脚本。

相关内容