Incrustar AppleScript dentro de un Bash - obteniendo un error


3

Estoy jugando con bash por primera vez y tratando de conseguir algo simple para trabajar.

#!/bin/bash
    while true ; do
    osascript <<EOF
        tell application "System Events"
            tell every desktop
                set picture to "/Users/bill/Desktop/bckg_changer/ARM_1885.jpg"
            end tell
        end tell
    EOF
done

Cuando ejecuto este archivo desde la línea de comando, lanza:

Bills-iMac-4:test bill$ ./test.sh
./test.sh: line 11: syntax error: unexpected end of file

encontré esta pregunta, y el formato y la estructura son similares, así que no estoy seguro de lo que falta.

El script de cambio de imagen en sí mismo funciona, es cuando agrego while loop que se produce el error de fin de archivo.

Advertencia

Sé que esta secuencia de comandos no tiene sentido: la idea era tener un bucle continuo, que revertiría la imagen del escritorio al jpg si posteriormente se cambiaba en las Preferencias del sistema. Obviamente, una mala elección de métodos y uso de recursos ... :-)

Respuestas:


4

cambio

osascript <<EOF

a

osascript <<-EOF

los - le permite sangrar el EOF de terminación.


1
Añadiendo el <<-EOF sigue arrojando el error, pero eliminando la sangría a medida que se elude en la respuesta funcionada.
Bill Armstrong

1
@BillArmstrong <<-EOF Permite sangrar con pestañas, pero no con espacios.
Gordon Davisson
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.