¿Hay alguna manera de abrir un nuevo terminal desde la línea de comandos y ejecutar un comando en ese nuevo terminal (en una Mac)?
por ejemplo, algo como:
Terminal -e ls
donde ls
se ejecuta en la nueva terminal.
macos
command-line
terminal
zlog
fuente
fuente
Respuestas:
Esto abre un nuevo terminal y ejecuta el comando "echo hello" dentro de él.
fuente
osascript -e 'tell app "Terminal" to do script "echo hello"'
"$@"
in shell pero en osa script?Puedes hacerlo de forma indirecta:
.command
Se puede hacer doble clic en los scripts de shell que tienen la extensión y que son ejecutables para ejecutarse dentro de una nueva ventana de Terminal. El comandoopen
, como probablemente sepa, es equivalente a hacer doble clic en un objeto Finder, por lo que este procedimiento termina ejecutando los comandos en el script dentro de una nueva ventana de Terminal.Ligeramente retorcido, pero parece funcionar. Estoy seguro de que debe haber una ruta más directa hacia esto (¿qué es lo que realmente estás tratando de hacer?), Pero ahora se me escapa.
fuente
Necesita ruby 1.9 o deberá agregar una línea
require 'rubygems'
antes de que otros lo requieran y no olvide instalargem rb-appscript
.Llamé a este script
dt
(pestaña doble), por lo que solo puedo ejecutardt
para abrir la pestaña en la misma carpeta odt ls
también ejecutar ells
comando.fuente
Esto funciona, al menos bajo Mountain Lion. Inicializa un shell interactivo cada vez, aunque puede reemplazarlo luego de invocarlo como "macterm exec your-command ". Almacene esto en bin / macterm en su directorio de inicio y chmod a + x bin / macterm:
fuente
Haría esto con AppleScript. Puede simplificarlo utilizando el comando osascript. Su guión sería algo como:
Si solo va a acceder a él en la terminal, puede omitir todo menos la declaración de información intermedia. Si desea una nueva ventana en lugar de una nueva pestaña, reemplace la tecla t con n.
No soy un AppleScripter con suficiente experiencia para saber cómo obtener argumentos de línea de comandos y luego volver a escribirlos en la nueva ventana, pero estoy seguro de que es posible y no demasiado difícil.
Además, creo que esto funciona y no puedo probarlo en este momento, pero estoy bastante seguro de que puede iniciar un script de shell con alguna variante en #! / Usr / bin / osascript -e y luego guardarlo como un ejecutable como tú quieras. Lo cual, al menos en mi cabeza, le permitiría escribir algo como $ runinnewterm ls / Applications
fuente