24 votos

¿Cómo escribo un script que abre una ventana iTerm2 y ejecuta un comando?

Lo que estoy haciendo

Estoy usando iTerm2 Construir 3.0.15 y escribir una secuencia de comandos que se abre una nueva ventana y se imprime "hola mundo" en la pantalla. Realmente, estoy interesado en ejecutar cualquier comando, pero el uso de echo "hello world" como punto de partida.

Lo he intentado

He leído en el iTerm2 documentación para secuencias de comandos. Yo quería aprender más, así que arrastró a la iTerm2 sobre el icono de la Script Editor icono para ver el diccionario disponible para mí y encontré el siguiente comando:

enter image description here

De la lectura del diccionario y de la documentación que me escribió la siguiente secuencia de comandos:

tell application "iTerm"
  create window with default profile command "echo hello world"
end tell

Cuando ejecuto el script desde el terminal se abre una ventana nueva y "hello world" en la pantalla; sin embargo, tengo la siguiente tubería rota de error: enter image description here

Cuando selecciono Ok cierra la ventana y yo me quedo con el siguiente mensaje:

$ osascript iterm.applescript
window id 6415

Las Preguntas

  • ¿Qué hacen estos tubos rotos, y de identificación de la ventana 6415 errores significan?
  • ¿Cómo puedo escribir una secuencia de comandos que se abre un iTerm2 ventana y se ejecuta un comando?

0voto

siva Puntos 23

Reemplazar command "echo hello world" con

command "bash -c \"echo hello world && read\""

El uso de read hace que bash espera para el usuario poner fin a la línea (es decir, pulsando enter) antes de salir. Presionar entrar dentro de 3 segundos todavía dará la advertencia, como esta es una característica de iTerm que puede desactivar marcando la casilla en el estado de alerta y controlar más precisamente en preferencias → avanzado → advertir sobre sesiones de corta duración.

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