iTerm 2 es un poderoso reemplazo para Terminal.app y tiene soporte para AppleScript. Puede usar AppleScript para indicarle que ejecute comandos en una nueva pestaña o ventana.
Por ejemplo, hagamos una pequeña acción de AppleScript que sea llamable. Ingrese lo siguiente en el Editor de AppleScript:
on run argv
set AppleScript's text item delimiters to {" "}
tell application "iTerm"
make new terminal
tell the current terminal
activate current session
launch session "Default Session"
tell the last session
write text argv as string
end tell
end tell
end tell
end run
y luego guárdelo como una secuencia de comandos en ~/Documents/Scripts/run-in-new-iterm-tab.scpt
. Ahora podemos llamarlo desde la línea de comandos así:
/Users/ian
> osascript ~/Documents/Scripts/run-in-new-iterm-tab.scpt ls ~/Documents/Scripts
/Users/ian
>
y obtengo una nueva pestaña en mi sesión de iTerm con:
Last login: Thu Aug 28 22:17:17 on ttys003
ls /Users/ian/Documents/Scripts
/Users/ian
> ls /Users/ian/Documents/Scripts
edit keep_drives_alive.sh run-in-new-iterm-tab.scpt touch-in-order.pl
find-missing-itunes-files.pl keep_drives_alive.sh~ start-utorrent.scpt touch-in-order.pl~
/Users/ian
>
Lo que no está tan mal. Hay algunas mejoras que puede hacer en el AppleScript, como mantener el directorio de trabajo actual cuando llama al comando. Pero eso te pone en el estadio.
Si usa esta sugerencia en esta pregunta , puede darle la vuelta al conjunto en un script envuelto en bash que es incluso más fácil de ejecutar:
#!/usr/bin/env osascript
on run argv
set AppleScript's text item delimiters to {" "}
tell application "iTerm"
make new terminal
tell the current terminal
activate current session
launch session "Default Session"
tell the last session
write text argv as string
end tell
end tell
end tell
end run
Guarde eso en un punto en su PATH
y hágalo ejecutable y luego solo necesita ejecutar:
run-in-new-iterm-tab ls ~/Documents/Scripts
para que funcione.