1 votos

Cómo enviar un comando de osascript a un Mac a través de SSH - Tratando con comillas simples

Sé cómo enviar un comando a través de SSH. Por ejemplo, tengo un escáner Canon antiguo conectado a un Raspberry Pi. Para iniciar un escaneo puedo hacer esto:

ssh pi@raspsky 'scanimage -x 105 -y 149 --resolution 300 > scan.ppm'

Sin embargo, ahora quiero enviar un comando desde el Pi a la Mac. El comando contiene comillas simples:

osascript -e 'display notification "¡Fallo en la captura de imagen!"'

Pero necesito poner comillas simples alrededor de todo el comando. No sé cómo hacerlo. He intentado escapar las comillas simples, pero eso no funciona.

1 votos

¿Las respuestas a esta pregunta de stackoverflow ayudan?

0 votos

Sí. Originalmente estaba horriblemente confundido por esa publicación. Pero, siguiendo tu sugerencia, la volví a leer esta mañana y llegué a la respuesta que publiqué en el comentario de abajo.

2voto

SiliconChaos Puntos 73

Aquí tienes un ejemplo que probé: zsh -c 'osascript -e "display dialog \"hi\""'

osascript -e no necesita comillas simples, y funciona bien con comillas dobles. Osascript también tiene un buen sistema de escape, así que escapé las comillas dentro de osascript y utilicé comillas simples para el comando envolvente. Para ti sería:

ssh @ 'osascript -e "display notification \"¡Falló la captura de imagen!\"'

Probándolo en mi pi, funciona. Si quieres hacer un solo comando, te recomendaría crear un script de shell que contenga

scanimage -x 105 -y 149 --resolución 300 > scan.ppm || ssh @ 'osascript -e "display notification \"¡Falló la captura de imagen!\"'

y ejecutarlo a través de SSH en tu Mac, ya que no creo que esto funcione si pones esto dentro de otro conjunto de '', lo cual ocurriría si envías todo este comando por SSH.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X