用于 tar-gzip(或 pigz)的 Automator 应用程序
Posted
技术标签:
【中文标题】用于 tar-gzip(或 pigz)的 Automator 应用程序【英文标题】:Automator app for tar-gzip (or pigz) 【发布时间】:2015-04-10 17:35:58 【问题描述】:我正在尝试在 OSX 下进行“存档实用程序”替换,以使用 tar 和 gzip(或 pigz)命令打开 tar.gz 文件。
重点是在 Automator 中创建一个应用程序,以便我可以将 tar.gz 文件类型绑定到它,然后,当单击 tar.gz 文件时,shell 脚本会使用 pigz/tar/gzip/etc 而不是默认存档实用程序。
我的应用程序包含一个“运行 Shell 脚本”(或一个 Get Selected Finder Items -> Run Shell Script,我都尝试过),它执行:
/usr/local/bin/pigz -dc "$1" | tar xf -
输入作为参数传递,但由于某种原因,它不起作用。
当从命令行使用时,它可以完美运行,但当设置为应用程序时,它什么也不做。
欢迎任何帮助!
【问题讨论】:
【参考方案1】:试试
#!/bin/bash
pigz -dc "$1" | tar xf - -C "$(dirname "$1")"
或使用notify-send
或 OSX 上可用的任何通知器来调试脚本。
在 Linux 上,未修改的脚本在文件浏览器中运行时从非主目录解压缩到 $HOME
,因为 $PWD
始终为 $HOME
(正如我从 notify-send
了解到的那样)我曾经的文件浏览器。因此修复了使用参数的目录。
您的问题可能在其他地方。至少你需要确保你的脚本是可执行的并且在你的$PATH
中(你的$PATH
可以通过你的GUI 看到)。作为使用通知程序的替代方法,您可以在从 GUI 调用脚本时将一些信息转储到文件中并从终端 tail -f
该文件。
【讨论】:
以上是关于用于 tar-gzip(或 pigz)的 Automator 应用程序的主要内容,如果未能解决你的问题,请参考以下文章