1 votos

Qué es '<<EOS' en los comandos del shell como 'osascript <<EOS'

En este puesto y uno o dos más he visto cosas como:

osascript <<EOS
-- some AppleScript code
EOS

Supongo que forma parte de bash y presumiblemente de otros shells... ¿o es algo específico de AppleScript/osascript? He buscado en Google, man 'd, buscado, etc. en vano.

Puedo deducir por el contexto más o menos lo que está haciendo, pero puede alguien decirme qué es oficialmente esto <<EOS ... EOS y/o indicarme la documentación correspondiente?

Gracias.

6voto

red_menace Puntos 111

Es un aquí el documento (heredoc), y está integrado en varios shells como bash y zsh . El texto entre los identificadores de delimitación ( EOS en este caso) se redirige al comando.

1voto

Ununique Puntos 41

(Gracias a @red_menace, @fdo, y @nohillside hasta ahora. He subido el voto de @red_menace. Es "correcta", pero me ha costado entenderla. No lo entendí bien, hasta que leí el enlace de @fdo (primer comentario) también. Por lo tanto, creo que esto necesita una respuesta más completa para cualquier otra persona que busque...)

En primer lugar, no tiene nada que ver con AppleScript. En cambio, en mi ejemplo de la pregunta:

  • el osascript puede ser "cualquier programa[/comando] que pueda leer de la entrada estándar ( cat es, con mucho, la más común) "**.
  • el -- some AppleScript Code es cualquier número de líneas que, de otro modo, podría escribir en la entrada estándar o introducir en el "programa" desde un archivo, etc.
  • En el <<EOS parte, La EOS no es especial. Es puramente el << esa es la clave. El EOS la parte puede ser prácticamente cualquier palabra única (es decir, una cadena, sin espacios ni la mayoría de los caracteres especiales, etc.)

El resultado: realizará el comando con el texto encapsulado como entrada.

En mi ejemplo, osascript es simplemente un comando del shell que recibe código AppleScript como entrada y ejecuta ese código como si el mismo código se ejecutara en script Editor, etc.

** Citado en Enlace de @fdo . Ver esto para más detalles

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