Abrir una ventana de terminal a un directorio específico desde un script de bash

6

¿Cómo puedo escribir un script de bash en Mac OS X que abra una ventana de Terminal en un directorio específico? Asumiría algo como:

open /Applications/Utilities/Terminal.app

Pero eso no hace nada (quizás esté cargando la aplicación Terminal que ya está abierta en lugar de lanzar una nueva ventana de Terminal). Y, por supuesto, no se introduce en un directorio ya que no he especificado que ...

    
pregunta at01 28.04.2011 - 01:32

3 respuestas

5

Aquí hay un pequeño script que he encontrado:

#!/usr/bin/osascript
on run argv
  set dir to quoted form of (first item of argv)
  tell app "Terminal" to do script "cd " & dir
end run

Si guardas esto y lo haces ejecutable

chmod +x script_filename

y luego ejecútalo

script_filename ~/Desktop

luego abrirá una nueva ventana de terminal y cambiará al directorio en el argumento.

    
respondido por el robzolkos 28.04.2011 - 02:01
5

A partir de Mac OS X Lion 10.7, si abre una carpeta con Terminal, se creará un nuevo terminal en esa ubicación. por ejemplo, puede arrastrar una carpeta al icono de la aplicación Terminal, o a una barra de pestañas para crear una nueva pestaña, y hay Servicios (Nueva Terminal en la Carpeta) que puede usar desde el menú contextual para abrir una nueva ventana o pestaña para una carpeta seleccionada en el Finder u otras aplicaciones (o incluso una ruta seleccionada en el texto).

Para hacer el equivalente desde la línea de comandos (o un script de shell):

open -a Terminal /path/to/folder

Este es el equivalente de la línea de comandos de arrastrar la carpeta al icono de la aplicación Terminal. (También puede proporcionar una ruta completa para Terminal si desea especificar una copia / versión particular de la aplicación).

    
respondido por el Chris Page 14.08.2011 - 02:55
0

No estoy seguro de si lo siguiente funciona desde un script de bash, pero al menos descubrí cómo abrir pestañas específicas en directorios específicos:

En las Preferencias, en Configuración, copia el perfil que normalmente te gustaría usar. Bajo Shell, puede indicarle que "Ejecutar comando": cd /some/directory . También querrá marcar "Ejecutar dentro de shell". Opcionalmente, puede especificar un título en Ventana.

Añade más perfiles de esta manera.

Luego cierre todas las ventanas de terminal, luego abra un perfil en una nueva ventana, más otro perfil en una nueva pestaña, más otro perfil en una nueva pestaña. Ahora tienes una ventana con tres pestañas. Guarda esto como un grupo de ventanas.

De ahora en adelante, siempre que tenga Terminal en ejecución, puede abrir este grupo de ventanas y obtendrá una nueva ventana con estas pestañas en estos directorios.

Pregunta abierta: ¿cómo le digo a Terminal que abra un nuevo grupo de ventanas, desde un script de bash?

    
respondido por el hibbelig 10.10.2012 - 23:31

Lea otras preguntas en las etiquetas