Как использовать Действия с папкой OSX для выполнения команды в Терминале при добавлении файла в папку? - PullRequest
0 голосов
/ 12 октября 2018

Как использовать Действия с папкой OSX для выполнения команды в Терминале при добавлении файла в папку?Насколько я понимаю, действия с папками могут запускать сценарии AppleScripts, когда в них помещаются файлы.Я попытался изменить пример сценария «добавлен в папку», но он не работает.

Это именно та команда «Терминал», которую я хотел бы выполнить для любых zip-файлов, помещенных в папку (и я знаю этот синтаксисэто правильно):

for file in *.zip; do zip -d "$file" "__MACOSX*"; done; for file in *.zip; do zip -d "$file" "*.DS_Store"; done; unzip -l \*.zip 

Я пробовал этот код в редакторе скриптов (версия 2.10), но это неверный синтаксис:

on adding folder items to theAttachedFolder after receiving theNewItems
    tell application Terminal
        for file in *.zip; do zip -d "$file" "__MACOSX*"; done; for file in *.zip; do zip -d "$file" "*.DS_Store"; done; unzip -l \*.zip 
    end tell
end adding folder items to

Вот как выглядит скрипт в скриптеРедактор, если это поможет:

enter image description here

Какой правильный синтаксис?Я использую OSX 10.13.6.

PS: я видел Запустите команду оболочки при добавлении файла плюс несколько других похожих вопросов, но я слишком новичок в папкеДействия и AppleScripts, чтобы понять, как заставить их работать в моей ситуации.

1 Ответ

0 голосов
/ 12 октября 2018

Вам необходимо использовать синтаксис:

set currentTab to do script ("[command]")

Например:

tell application "Terminal"
    set currentTab to do script ("ls")
end tell

Будет отображать текущий каталог.Убедитесь, что вы также заключили Терминал в кавычки: «Терминал»

...