默认执行 shell 脚本

默认执行 shell 脚本

我创建了一个简单的 shell 脚本来运行 jar 文件。我希望能够简单地双击该文件来执行它,而不需要通过终端运行它。

我认为这不相关,但我正在运行 CentOS 7。

答案1

1:创建可执行的包装脚本

当您单击标记为可执行文件时,大多数现代桌面环境都会自动运行它。只需创建一个简单的包装脚本,使用您最喜欢的纯文本编辑器运行您想要的命令,其中包含以下内容:

#!/bin/bash
java -jar /path/to/app.jar

并使其可以从您最喜欢的文件管理器或运行

chmod +x /path/to/script.sh

现在,当您从文件管理器导航到包含脚本的目录时,您应该能够单击(或双击,具体取决于您的文件管理器)来执行该文件。

但请注意,某些文件管理器可能不支持以这种方式运行脚本,或者会发出警告您正在执行命令。大多数脚本通常从 cli 运行,并且通常人们创建桌面条目文件以从桌面应用程序菜单启动应用程序。

2:创建桌面入口文件

桌面条目文件是告诉 Linux 桌面环境您安装了哪些应用程序、如何运行它们以及有关它们的一堆其他元数据(例如友好名称和图标)的文件。

最小的桌面条目文件将如下所示:

[Desktop Entry]
Type=Application
Name=Your Apps Name
Exec=java -jar /path/to/app.jar
Categories=Utility;Java;

您的桌面环境可能有办法为您创建这些文件(检查设置、菜单或右键单击桌面 - 这取决于桌面环境)。或者,您可以使用您最喜欢的纯文本编辑器手动创建它们,并创建一个以上述内容~/.local/share/applications结尾的文件。.desktop~/.local/share/applications/your-script.desktop

桌面文件比包装脚本具有优势,因为它们被添加到桌面环境的菜单系统中,并且通常可以像任何其他应用程序一样放置在系统栏或桌面上。

archlinux 有一个关于在其上创建桌面文件的优秀指南维基百科或者您可以阅读 freedesktop.org 规范这里了解您可以使用桌面文件执行的所有不同操作。

答案2

您可以创建一个文件.sh

#!/bin/bash
echo 'run script'
sleep 20

然后你必须使它可执行

sudo chmod ugo+x file.sh

之后,您可以双击桌面管理器是否设置为执行,或者至少询问,而不是仅使用默认文本编辑器打开 .sh 文件。

相关内容