Если я правильно прочитал ваш OP, у вас на самом деле есть две разные проблемы:
- Не зная, как предоставить
input
для Запустить AppleScript action из Выполнить сценарий оболочки действие . - Расширение переменного параметра не выполняется для вас с помощью:
$serial
Выпуск 1:
Чтобы вернуть что-то из Выполнить сценарий оболочки действие в другое действие, например, Запустить AppleScript action , установить последнюю строку Run Shell Script action равной, например:
echo "foobar"
Или:
printf "foobar"
Для использования нескольких элементов, например:
echo "foobar
barfoo"
Или:
printf "foobar\nbarfoo"
Выпуск 2:
Я не в состоянии повторить вашу do shell script
команду на данный момент; однако причина, по которой расширение параметра переменной не происходит, заключается в том, что переменная содержит одинарных кавычек вокруг нее.
... '/Path/to/file/movie_$serial.mp4'"
Расширение будет не происходит, когда переменная содержит одинарные кавычки , поэтому вам нужно сформулировать свою команду , чтобы ее можно было расширить. Или на отдельном шаге обработайте то, что необходимо для достижения sh цели.
Например:
set sPath to "/path/to/file/movie_"
set serial to ((random number from 0 to 32727) mod 10000) as string
set pathFilename to sPath & serial & ".mp4"
Затем вы можете использовать, например:
... & pathFilename's quoted form
В вашей do shell script
команде при настройке всей команды на работу для вас.
Другими словами, вы можете избавиться, например:
/bin/bash serial=$(($RANDOM % 10000));
А:
& "'" & sPath & "$serial.mp4" & "'"