我们可以制作可执行脚本在任何 Ubuntu 机器上运行吗?

我们可以制作可执行脚本在任何 Ubuntu 机器上运行吗?

我很好奇,是否有办法通过双击文件来执行多个终端命令。


假设这些是我想要在终端上执行的命令。

curl -s https://brave-browser-apt-release.s3.brave.com/brave-core.asc | 

sudo apt-key --keyring /etc/apt/trusted.gpg.d/brave-browser-release.gpg add -

sudo sh -c 'echo "deb [arch=amd64] https://brave-browser-apt-release.s3.brave.com `lsb_release -sc` main" >> /etc/apt/sources.list.d/brave.list'

sudo apt update

sudo apt install brave-browser brave-keyring
  • 但是我不是逐个运行它们,而是将它们写入带有文件扩展名的文本文件中并将其保存在我的计算机上。
  • 接下来我只需双击该文件,它就会执行这些命令。
  • 如果我与其他人共享此文件,他们只需双击即可执行它。

我已经知道的事情:

  • 使用以下方式在文件中写入命令#!/usr/bin/env bash在第一行
  • 使文件作为程序执行chmod -x <filename>
  • 通过终端执行文件./<filename>

答案1

现代操作系统不再采用非常不安全的方法,即用户可以双击任何文件,然后让该文件“执行某些操作”。使用 Gnome Shell 的 Ubuntu 就是一个例子。只需在文件管理器中双击即可启动可执行文件的可能性已被刻意删除。然而,其他桌面环境中的几个文件管理器仍然允许这样做。

让用户可以轻松运行你的脚本的正确方法是随.desktop脚本一起发送一个文件。.desktop文件是一个小型文本文件,它向您的桌面指示如何运行应用程序、它在菜单系统中的位置、如何搜索它以及应使用什么图标。

为了实现全系统可用性,.desktop程序应安装在 下/usr/share/applications。如果仅供选定用户使用,则应将其安装在.local/share/applications能够运行该应用程序的每个用户的帐户下。

在 Ubuntu 以及各种桌面环境中,.desktop可以将此类文件放在用户的桌面上。然后应将其设置为“可执行”,然后双击桌面上的图标即可运行。

相关内容