如何从 shell 脚本创建简单的 Mac 应用程序
基本上,Mac 应用程序有一个 .app
扩展名,但它不是真正的文件——它是一个包。 我们可以通过在 Finder 中导航到应用程序,右键单击它然后选择“Show Package Contents”来查看应用程序的内容。
内部文件夹结构可能因应用程序而异,但我们可以确定每个 Mac 应用程序都会有一个包含 MacOS 子文件夹的目录文件夹。 在 MacOS 目录中,有一个无扩展名的文件,其名称与应用程序本身完全相同。 这个文件实际上可以是任何东西,但最简单的形式是一个 shell 脚本。 事实证明,这个文件夹/文件结构是创建一个功能性应用程序所需要的!
进入 appify
在这一发现之后,Thomas Aylott 想出了一个聪明的“appify”脚本,可以让我们轻松地从 shell 脚本创建 Mac 应用程序。 代码如下所示:
#!/usr/bin/env bash
APPNAME=${2:-$(basename "${1}" '.sh')};
DIR="${APPNAME}.app/Contents/MacOS";
if [ -a "${APPNAME}.app" ]; then
echo "${PWD}/${APPNAME}.app already exists :(";
exit 1;
fi;
mkdir -p "${DIR}";
cp "${1}" "${DIR}/${APPNAME}";
chmod +x "${DIR}/${APPNAME}";
echo "${PWD}/$APPNAME.app";
如果你习惯于使用 UNIX,那么安装和使用 appify
非常简单。 (我不是,所以我必须弄清楚这一点。)以下是安装方法:
- 将脚本保存到 PATH 中的目录并将其命名为 appify(无扩展名)。 我选择放在**/usr/local/bin** ,需要root权限。
-
启动 Terminal.app 并输入
sudo chmod +x /usr/local/bin/appify
使 appify 在没有 root 权限的情况下可执行。
之后,我们只需启动 Terminal.app 并输入如下内容,即可基于任何 shell 脚本创建应用程序:
$ appify your-shell-script.sh "Your App Name"
显然,这将创建一个名为 Your App Name.app 的独立应用程序,它会执行 your-shell-script.sh
脚本。
之后,如果需要,我们可以非常轻松地向应用程序添加自定义图标。
添加自定义应用程序图标
-
使用我们想要的图标创建
.icns
文件或 512×512 PNG 图像,并将其复制到剪贴板⌘ + C
。 (或者,按照步骤 2 和 3 中的说明从现有应用程序复制它。) -
右键单击要更改其图标的
.app
文件并选择“获取信息”(或选择该文件并按⌘ + I
)。 - 单击一次选择左上角的应用程序图标。 如果你做对了,它会得到一个微妙的蓝色轮廓。
-
现在点击
⌘ + V
(粘贴)用新图标覆盖默认图标。
请注意
,这适用于任何文件或文件夹,而不仅仅是 .app 文件。
示例
Chrome/Chromium 引导程序
我喜欢在启用一些命令行开关或标志的情况下运行 Chrome/Chromium
。 在 Windows 上,我们可以创建快捷方式并在其属性中设置我们想要的参数; 在 Mac 上,我们每次都需要从命令行启动它。 好吧,不再是了:)
#!/usr/bin/env bash
/Applications/Chromium.app/Contents/MacOS/Chromium --enable-benchmarking --enable-extension-timeline-api&
最后的 &
不是错字; 它用于确保 Chromium 在单独的线程中启动。 如果没有 &
,Chromium 将在我们退出 Terminal.app 时立即退出。
从目录启动本地 Web 服务器
假设我们正在处理一个项目并且想从 Web 服务器调试它。 以下 shell 脚本将使用 Python 从特定目录启动本地 Web 服务器,并在我们选择的默认浏览器中打开索引页面。 应用后,你甚至不需要再打开终端了。
#!/usr/bin/env bash
cd ~/Projects/Foo/
python -m SimpleHTTPServer 8080 &> /dev/null &
open http://localhost:8080/
不用说,可能性是无限的。 再举一个例子,你可以很容易地创建一个应用程序来缩小特定文件夹中的所有 JavaScript 和 CSS 文件。 有什么好主意吗? 通过发表评论告诉我们!
相关文章
在 Mac 上更新 Git
发布时间:2023/04/05 浏览次数:196 分类:Git
-
在 Git 上工作时,应该使用最新版本保持更新以获得它的最新功能。 本文将讨论如何在个人计算机上安装和更新最新版本的 Homebrew 和 Git。
在 Mac 上打开 Git Bash
发布时间:2023/03/31 浏览次数:398 分类:Git
-
在 Git 中管理版本号 Git 是开发人员使用的最受欢迎和最著名的免费版本控制系统,可帮助他们在团队中安全高效地处理各种程序。 他们可以轻松地跟踪自己的项目,而无需探究彼此的任务。
在 PHP 中运行 Shell 脚本并打开 Shell 文件
发布时间:2023/03/29 浏览次数:107 分类:PHP
-
本教程将演示如何在 PHP 中运行 shell 脚本。我们将使用 PHP 的 shell_exe() 和 shell() 函数来实现我们的脚本。
在 PHP 中从 Hash_hmac() 和 Sha256 创建签名
发布时间:2023/03/29 浏览次数:63 分类:PHP
-
我们将创建基于字符串的密钥并将它们转换为秘密签名,我们将使用 hash_hmac() 方法和一些最常见的 HMAC 方法进行密码转换。我们还将使用 PHP 中的 sha256 和 hex2bin 和 bin2hex 函数创建一个复