2015-04-10 2 views
1

Я пытаюсь заменить «Архивную утилиту» под OSX, чтобы открыть tar.gz-файлы с помощью команд tar и gzip (или pigz).Приложение для Automator для tar-gzip (или pigz)

Дело в том, чтобы сделать приложение в Automator, чтобы я мог привязать к нему файл tar.gz, а затем, когда файл tar.gz щелкнут, скрипт оболочки расширяет файл, используя pigz/tar/gzip/etc утилиты архива по умолчанию.

Мое приложение состоит из 'Run Shell Script' (или Get Selected Finder Items -> Run Shell Script, я пытался как), который выполняет:

/usr/local/bin/pigz -dc "$1" | tar xf - 

Входы в настоящее время передаются в качестве аргументов , но по какой-то причине он не работает.

При использовании в командной строке он отлично работает, но при установке в качестве приложения он ничего не делает.

Любая помощь приветствуется!

ответ

2

Попробуйте

#!/bin/bash 
pigz -dc "$1" | tar xf - -C "$(dirname "$1")" 

или использовать notify-send или любой уведомитель, что доступно на OSX для отладки сценария.

В Linux, немодифицированного сценарий, при запуске в файл-браузер с не-домашний каталог добытой в $HOME, потому что $PWD всегда был $HOME (как я узнал от notify-send) независимо от того, где в файле-браузере я был. Следовательно, исправить использование каталога аргумента.

Ваша проблема может быть в другом месте. По крайней мере, вам нужно убедиться, что ваш скрипт является исполняемым, и в вашем $PATH (ваш $PATH, как видно из вашего графического интерфейса). В качестве альтернативы использованию уведомителя вы можете отправить некоторую информацию в файл и tail -f этот файл с терминала при вызове сценария из вашего графического интерфейса.

+0

Не работает, также попробовал – Ghost