Конвертировать AppleScript в одну строку - PullRequest
1 голос
/ 11 января 2012

Я использую Mach Desktop для вывода результатов скрипта в Desklet, поэтому он должен быть в следующем формате:

echo 'сообщить приложению "iTunes", чтобы он возвращал альбом текущего трека "|osascript

У меня есть одна строка для ввода данных, поэтому сценарий должен быть одной длинной строкой.Может случиться так, что вся вещь должна содержаться в одном наборе одинарных кавычек после эха, следующим образом:

echo '[весь скрипт]' |osascript

Как преобразовать приведенный ниже AppleScript в одну строку?

set some_file to "Macintosh HD:Users:Zade:Library:Application Support:Notational Data:Words.txt" as alias
set the_text to read some_file as string
set the text item delimiters of AppleScript to ", "
set the_lines to (every text item of the_text)
return some item of the_lines

Вот что я пытаюсь:

echo 'set some_file to "Macintosh HD:Users:Zade:Library:Application Support:Notational Data:Words.txt" as alias -e set the_text to read some_file as string -e set the text item delimiters of AppleScript to ", " -e set the_lines to (every text item of the_text) -e return some item of the_lines' | osascript

И это дает эту ошибку:

107: 112: синтаксическая ошибка: «set» не может идти после этого идентификатора.(-2740)

1 Ответ

1 голос
/ 11 января 2012

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

echo 'set some_file to "~/Library/Application Support/Notational Data/Words.txt" as POSIX file as alias' -e 'set the_text to read some_file' -e 'set the text item delimeters of AppleScript to ","' -e 'set the lines to (every text item of the_text)' -e 'return the lines' | osascript

РЕДАКТИРОВАТЬ: @Zade Это было бы потому, что Words.txt не существует. Псевдонимы относятся только к существующим файлам. Поэтому вы должны выбрать файл, который существует. Вот простой способ узнать, каков правильный синтаксис для ссылок на файлы:

set some_file to (choose file)

Вы заметите, что путь к файлу ограничивается двоеточиями (:), а не косой чертой. Сказав это, выберите файл, который существует, и запустите ваш скрипт с этим файлом.

...