Получение доступа к данным, полученным AppleScript вне скрипта


0

Мне было бы интересно использовать данные, которые я получаю с помощью AppleScript в другой платформе, или даже записать их на диск (первое предпочтительнее). Например, у меня есть AppleScript, в котором я прошу QuickTime Player открыть файл и воспроизвести его, а затем опрашивать местоположение точки воспроизведения файла в цикле.

Есть ли способ, которым я могу отправить / передать эти данные в другом месте?

Ответы:


1

Неясно, что вы пытаетесь сделать, возможно, вы ищете именованную трубу .

Вы создаете такой как это ...

mkfifo mypipe

и вы могли бы слушать или потреблять то, что приходит по трубе, как это ...

tail -f mypipe

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

on timeStamp()
    return (current date) as string
end timeStamp

set aname to "/home/user/some/dir/mypipe"

repeat 10 times
    do shell script "echo " & quoted form of timeStamp() & " > " & aname
    delay 5
end repeat

это сработало в первый раз, когда я попробовал это, а затем кажется, что ОС не находит канал. Я пытался rmбезрезультатно. Я полагаю, было бы неплохо взять трубку с помощью сценария Python с os.mkfifo (), но не уверен, как это сделать. это, вероятно, выходит за рамки вопроса.
JML

Я думаю, что у меня может быть проблема с файлом, заблокированным между программами, обращающимися к нему. Я смог получить rmфайл из моего скрипта, но иногда яваскрипт зависает из-за того, что файл зарезервирован другой программой.
JML

@jml Не могу сказать, почему у тебя проблемы. Звучит очень странно. Я запускал сценарий выше на Snow Leopard много раз без проблем. Возможно, мешает антивирус или продукт безопасности?
Вик

Я думаю, что это связано с тем, что канал запускается из другого родительского процесса или что-то вроде этого. Если у вас есть какие-либо мысли о том, как решить эту проблему, я был бы очень признателен. По сути, мне нужно знать, нормально ли создавать канал с одной программой и получать доступ к входу канала из другой программы. Я думал, что это именно то, что tailделает - просто файл, прочитанный в конце дня.
JML

1
@jml Увидел ваш другой вопрос, там же ответим.
Вик

1

Взгляните на эту страницу . В нем есть несколько примеров того, как записывать переменные в файл.


прохладно. есть надежда на использование данных в режиме реального времени? Кроме того, я бы предположил, что если это единственный способ получить данные, которые мне пришлось бы использовать аналогичные операции чтения файлов, чтобы вставить данные в контекст applecript?
jml
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.