Estoy intentando escribir un applescript para controlar un proyector instalado utilizando su interfaz web incorporada. Tengo un comando curl que hace ping a la URL apropiada y puede controlar el proyector como sea necesario desde la línea de comandos, cuando construyo esto en un applescript (requerido por mi software de control de espectáculos) me
Mi applescript actualmente tiene este aspecto:
set theUrl to "http://192.168.0.103/cgi-bin/proj_ctl.cgi?key=shutter_on&lang=e&osd=on"
set theUsername to "dispadmin" -- set this to the username for the projector
set thePassword to "password" --set this to the password for the projector
set myFile to (POSIX path of (path to temporary items)) & "curl_downloaded_file.xml"
set curlScript to "/usr/bin/curl --connect-timeout 1 --anyauth --user" & " " & theUsername & ":" & thePassword & " -L " & theUrl & " -o " & myFile
display dialog "my variable: " & curlScript
do shell script curlScript
El display dialog
La línea es para la depuración para mostrar cómo se verá el comando curl, cuando ejecuto esto obtengo lo siguiente:
/usr/bin/curl --connect-timeout 1 --anyauth --user dispadmin:password -L http://192.168.0.103/cgi-bin/proj_ctl.cgi?key=shutter_on&lang=e&osd=on -o /private/var/folders/zs/f1hpkd2x281fvzyh4zd5dpcw0000gn/T/TemporaryItems/curl_downloaded_file.xml
Lo cual parece correcto. Si añado comillas alrededor de la URL puedo ejecutar este comando en el terminal sin problemas y obtener el efecto deseado, sin embargo, el Applescript seguirá escupiendo el siguiente error:
error "sh: -o: command not found
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 350 100 350 0 0 38888 0 --:--:-- --:--:-- --:--:-- 38888
100 267 0 267 0 0 5235 0 --:--:-- --:--:-- --:--:-- 5235" number 127
Esto parece que curl se está ejecutando pero no golpea el servidor web del proyector para desencadenar el controll, también el error "sh: -o: command not found
me hace pensar que el comando no está siendo analizado/pasado correctamente.
¿Qué estoy haciendo mal?