显示终端中看到的脚本输出

显示终端中看到的脚本输出

我有适用于 windscribe vpn 的可用脚本。目前没有 GUI。它们从桌面运行没有问题。我如何查看终端中的输出。

我可以打开通知窗口但如何获取其中的输出?

我认为命令是什么并不重要,必须有基本命令才能实现这一点。

有没有比使用通知窗口更好的方法?

答案1

您可以将输出重定向到某些文件,例如:

./yourscript.sh 1> log.txt 2> errlog.txt

然后你可以打开另一个终端窗口,在那里你可以执行类似

tail -f log.txt

然后你就会看到输出。tail 命令的 -f 选项表示随着文件的增长,输出会被追加。

答案2

尽管 Q 说你没有 GUI,但显然你有一个桌面和 gnome-terminal,所以我假设你也安装了 zenity(它在 Ubuntu 中默认存在),因此你可以让 zenity 显示来自命令或整个脚本的输出,如下所示:

script_output=$(script.sh)
zenity --info --title="Output of script" --text="$script_output"

它将标准输出(不包括 stderr,如果需要,您也可以将其重定向到 stdout)保存到一个变量,然后让 zenity 打开一个窗口,在类似于此图像的框中显示输出(但标题和内容不同),该窗口将一直保持显示直到您按下确定。

在此处输入图片描述

答案3

您可以打开一个新的终端窗口并在其中运行命令,例如xterm 安装 xterm

xterm -hold -e 'whoami'

-hold选项让窗口保持打开状态,如果希望它在进程退出时立即自动关闭,请删除它。您还可以使用sleep它让它在退出后保持打开一段定义的时间,例如xterm -e 'whoami;sleep 2'. The part after-e` 是在新终端窗口中执行的命令或命令列表。这必须是命令行中的最后一个选项。请注意,如果您不告诉它这样做,它不会运行 shell。

大多数其他终端仿真器具有相同或类似的选项,例如

gnome-terminal -e 'whoami'

如果没有与 标志等效的xterm标志,-hold您可以启动一个 shell 来保持窗口保持打开状态:

xterm -e 'whoami;bash'

相关内容