我试图使用automator自动化某些进程,但我不熟悉shell脚本或苹果脚本,我需要比内置的Automator功能更复杂的功能。这就是我要做的事情:
用户从选项列表中选择"从列表中选择"命令。 "从列表中选择"然后命令以下列格式(作为文本)传递stdin所选对象:
(
"Wemo Light 1",
"Wemo Light 2",
"Wemo Light 3",
"Wemo Light 4"
)
我想将每个参数(每个Wemo Lights)传递给shell脚本或Apple脚本,然后运行二进制' / usr / local / bin / wemo开关" $ STRING"断'其中$ STRING是每个灯的传递名称。
这就是你在PHP中的表现:
$lights = fopen('php://stdin', 'r');
$lights = preg_grep(/"[A-Za-z0-9]+"/,$lights);
foreach ($lights as $light) {
shell_exec("/usr/local/bin/wemo switch $light off");
}
(但PHP赢得了帮助,它必须是另一个shell脚本或苹果脚本!)任何建议和帮助表示赞赏!
编辑:stdin实际上是AppleScript列表格式。因此,AppleScript似乎是自然的选择。还在研究......
答案 0 :(得分:0)
喜欢这个吗?
set theChoices to {"Wemo Light 1", "Wemo Light 2", "Wemo Light 3", "Wemo Light 4"}
set userChoice to choose from list theChoices with title "Insert your Title" with prompt "Insert your prompt" with multiple selections allowed
if userChoice is false then
error number -128
else
repeat with aChoice in userChoice
set myCommand to "/usr/local/bin/wemo switch " & quoted form of aChoice & " off"
do shell script myCommand
end repeat
end if