我试图创建一个“归档实用程序”'在OSX下更换以使用tar和gzip(或pigz)命令打开tar.gz文件。
重点是在Automator中创建一个应用程序,以便我可以将tar.gz文件类型绑定到它,然后,当单击tar.gz文件时,shell脚本使用pigz / tar / gzip / etc而不是扩展文件默认存档实用程序。
我的应用包含一个'运行Shell脚本' (或获取选定的Finder项目 - >运行Shell脚本,我已尝试过两者)执行:
/usr/local/bin/pigz -dc "$1" | tar xf -
输入作为参数传递,但由于某种原因,它不起作用。
从命令行使用时,它可以完美运行,但是当设置为应用程序时,它什么都不做。
欢迎任何帮助!
答案 0 :(得分:2)
尝试
#!/bin/bash
pigz -dc "$1" | tar xf - -C "$(dirname "$1")"
或使用notify-send
或OSX上可用的任何通知程序来调试脚本。
在Linux上,未修改的脚本,当在文件浏览器中从非主目录运行时被提取到$HOME
,因为$PWD
始终是$HOME
(正如我从{{}学习的那样1}})无论我在文件浏览器中的哪个位置。因此修复了使用参数的目录。
您的问题可能在其他地方。至少,你需要确保你的脚本是可执行的,并且在你的notify-send
(你的GUI $PATH
中)。作为使用通知程序的替代方法,您可以在从GUI调用脚本时将一些信息转储到文件中并从终端转发$PATH
该文件。