关闭应用程序后如何保持终端运行?

关闭应用程序后如何保持终端运行?

我创建了一个桌面快捷方式来运行脚本。但是,我不确定如何在关闭应用程序或应用程序崩溃后保持终端打开。我对编码还很陌生,所以如果以前有人问过这个问题,请原谅我。我尝试了其他论坛帖子,但似乎无法让它在这个帖子上工作。

Name=Test
Comment=
Exec=bash -c "$HOME/test_folder/scripts/test.sh"
Icon=/usr/share/icons/test.png
Terminal=true
Type=Application
StartupNotify=true

答案1

如果没有程序在终端窗口中运行,则终端窗口无法保持打开状态。因此,为了保持终端打开,您必须确保在其中运行的命令不会退出。有多种方法可以实现这一点。需要考虑的一个方面是终端最终应在何时以及如何关闭。

就您而言,由于您的命令正在bash运行您控制的脚本,因此最简单的解决方案可能是添加以下行:

read -p "Press ENTER to continue"

到该脚本的末尾。这将导致脚本在退出之前等待一行输入,因此只有当您在终端具有焦点时按下 ENTER 键时,终端才会关闭。

如果您的Exec=行包含您不能或不想修改的命令,那么另一种解决方案是将该read命令附加到它,例如:

Exec=/bin/bash -c '/usr/local/bin/coolprog ; read -p "Press any key to continue"'

终端将启动一个 shell 来运行该命令行,并且该read命令将导致该 shell 等待一行输入后再退出。

答案2

  • 在您的Exec=行中,删除末尾的bash -c "and ¨:没有必要。如果脚本不在您的 PATH 目录中,则直接指定脚本的完整路径名即可。
  • 编辑您的脚本,并添加一行bash。这样,在脚本中的前一个命令完成后,终端将保持在提示符下打开。

相关内容