4 votos

La Terminal.aplicación equivalente de "xterm -e "cmd"

Con xterm (e gnome-terminal, terminator, etc), puede ejecutar el siguiente comando:

$ xterm -e 'vim somefile.txt'

xterm va a abrir y ejecutar el programa especificado (en este caso, Vim). Cuando se sale del programa, la ventana de terminal se cierra así. Ejecutar el comando anterior, si usted fuera a salir de Vim, el terminal iba a ir así.

Es allí cualquier manera de conseguir esto (o similar) funcionalidad a través de la Terminal.aplicación (en OSX)? La solución puede estar en AppleScript, Bash o otra cosa, siempre es alcanzable a través de comandos que puede ejecutar en un script de Bash.

6voto

0942v8653 Puntos 3617

Con AppleScript, usted puede hacer:

en ejecución de los argv
 comando set a 1 elemento de argv --usted puede modificar esto para ser constante
 indica la aplicación "Terminal"
activar
 realizar secuencias de comandos (command & "; exit")
 final dicen
final de ejecución

Esto abre el Terminal y le decimos que ejecute un comando (la configuración predeterminada necesidad de cerrar la ventana cuando se cierre el shell). Para ejecutar esto, sólo tiene que utilizar osascript filename.scpt "$command_to_run"

1voto

Kristof Puntos 250

Usted podría utilizar la open comando (/usr/bin/open).

Por ejemplo, digamos que quiero abrir el archivo test.txt con Textmate y cerrar el shell después. Yo podría utilizar el siguiente comando:

open -W -a Textmate test.txt && exit
  • El -W opción es esperar hasta que Textmate es cerrado.
  • El -A opción le permite especificar la aplicación

La segunda parte de la línea de comandos (exit) no hará que el Terminal de la aplicación para dejar de fumar, pero se puede cerrar el Terminal de la ventana si usted cambia las preferencias predeterminadas. En las preferencias de Terminal server, haga clic en el Shell ficha y cambiar la configuración Cuando se cierre el shell para Cerrar la ventana

Terminal preferences

Si usted realmente desea salir de la aplicación del Terminal, usted puede reemplazar exit a través de una llamada a un script en Bash. Por ejemplo:

#!/bin/sh

echo | osascript <<EOF
tell application "Terminal"
  quit
end tell
EOF

(Fuente: adaptado de Mac OS X Hints)

Esto causará Terminal para mostrar una ventana emergente que le pregunta si desea cerrar la aplicación.

Terminal popup

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