在文件和终端中运行退出命令有啥区别

Posted

技术标签:

【中文标题】在文件和终端中运行退出命令有啥区别【英文标题】:what's the difference between running a exit command inside a file and a terminal在文件和终端中运行退出命令有什么区别 【发布时间】:2014-10-04 16:35:07 【问题描述】:

如果我在终端中运行exit 命令,那么终端将退出并自行关闭。 如果我运行以下命令,则终端不会自行关闭(注意在 if-else 命令中使用exit 命令:

#!/bin/bash
a=1
if [ $a -eq 1 ]
then
echo i am true
exit
else
echo i am false
fi

注意:我在上面的代码中使用 if-else 条件只是为了演示,它与我的问题无关。 如果您认为这个问题有问题,请发表评论,请不要给它-1分。

【问题讨论】:

【参考方案1】:

执行脚本会调用脚本解释器的另一个副本。 this 解释器(在本例中为 bash)退出,将控制权返回给正在执行的程序。

【讨论】:

顺便说一句,如果你 source your-script,它在同一个 shell 中运行,你的 shell 会退出,因此你的终端会关闭。

以上是关于在文件和终端中运行退出命令有啥区别的主要内容,如果未能解决你的问题,请参考以下文章

linux中nohup 与 & 的区别

“停止”和“退出”容器有啥区别?

linux下退出终端,让PHP程序继续执行的命令

Python:显式退出和简单地让执行到达文件末尾有啥区别?

linux终端中输入啥命令可以退出终端

退出和返回有啥区别? [复制]