双击 Linux Bash 脚本并使用暂停命令进行调试

双击 Linux Bash 脚本并使用暂停命令进行调试

我非常擅长使用 Windows .bat 脚本,并且通常在开发它们时使用暂停命令,这样我就可以在脚本在命令提示符中运行时逐步查看内容。我正在尝试对 Linux Bash 文件执行类似的操作。我有一个非常简单的 bash,如下所示......

#!/bin/bash
echo Hello World!
read -p "Press [Enter] key to continue..."

我将 Nautilus(一个 Linux 文件管理程序)配置为“双击可执行文件时运行”,但双击脚本时我看不到任何内容。我需要将输出重新路由到控制台或其他什么吗?

编辑

这是我如何实现我想要的......

  1. 创建一个 .sh 文件(我使用的是上面的一个)
  2. 打开鹦鹉螺
  3. 单击编辑 -> 首选项 -> 行为选项卡
  4. 在“可执行文本文件”下选择“每次询问”单选按钮

现在,当您单击 .sh 文件时,系统将提示您几个选项。选项“在终端中运行”正是我想要的。感谢大家的贡献!

答案1

您需要启动一个终端,该终端又启动脚本。

尝试这个:

#!/bin/sh
xterm -e "echo Hello World; read -p 'Press [Enter] key to exit ..."

对于较长的脚本来说这当然是不切实际的。但随后你可以简单地执行以下操作:

#!/bin/sh
xterm -e /home/user/scripts/thescript.sh

thescript.sh包含您要使用的所有命令。确保它是可执行的 ( chmod +x thescript.sh)

答案2

您的脚本需要一个终端才能与其交互。这样做的一种方法是@Sebastian建议。但请注意,bash 脚本并不是真正设计为以这种方式运行的。一种更简洁的方法是编写一个.desktop启动脚本的文件,然后双击。就像是:

[Desktop Entry]
Exec=/home/user/yourscript.sh
Terminal=true
Type=Application

将该文件保存foo.desktop在您的~/Desktop文件夹中。现在它将显示为一个图标,双击它将使您的脚本在终端中运行。显然,您需要更改/home/user/yourscript.sh为脚本的实际路径。

相关内容