如何让命令成功运行时终端自动关闭?

如何让命令成功运行时终端自动关闭?

我想让终端在命令成功运行时自动关闭。如果命令产生某些错误,它不应该自动关闭。

例如:

如果我运行sudo apt-get install vlc,如果 VLC 包安装成功,终端应该会自动关闭。否则,它不应该关闭。

答案1

使用以下命令

bind 'RETURN: ";if [[ $? == 0 ]]; then exit; fi;\n"'

如果您需要它在每次启动新会话时工作,请将此命令添加到~/.bashrc文件中,然后运行source ~/.bashrc以使其立即生效。

然后如果你输入

ls

它将自动替换为

ls; if [[ $? == 0 ]]; then exit; fi;

答案2

只需&& exit在要退出终端的命令后面输入:

例子:

sudo apt-get install vlc && exit

解释:

&&      Run the next command if the preceding command exits with 0 (success)
exit    Exit the terminal or script

这可能比退出更好,如果任何命令成功;您可能希望在终端中运行多个命令。


如果你是真的确保终端在每个命令成功执行后都退出,在你的命令中使用它.bashrc

bind 'RETURN: "\C-e ; [[ $? == 0 ]] && exit ;
"'

(确保结束引号位于新行上)

相关内容