我想让终端在命令成功运行时自动关闭。如果命令产生某些错误,它不应该自动关闭。
例如:
如果我运行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 ;
"'
(确保结束引号位于新行上)