¿Cómo puedo hacer que mi shell siempre se inicie en un directorio determinado que no es mi directorio principal?

16

He intentado poner

cd /Users/my_name/my_directory/structure

tanto en .bashrc como en .bash_login , pero ninguno funciona, es decir, cuando abro una nueva ventana de terminal, estoy en mi directorio de inicio (/ Users / my_name /).

No hay mensajes de error, simplemente no se han introducido en el directorio como se esperaba al iniciar una nueva ventana de terminal.

    
pregunta Michael Durrant 30.08.2012 - 17:34

2 respuestas

4

Como mencionó Gerry, .bashrc no se lee mediante shells de inicio de sesión. Las nuevas pestañas son shells de inicio de sesión predeterminadas en Terminal e iTerm 2. .bash_login solo se lee si no hay .bash_profile .

También puedes agregar un comando cd a .bash_profile .

    
respondido por el user495470 31.08.2012 - 08:23
27

En primer lugar, si aún no está utilizando iTerm2, le sugiero que descargue este software gratuito como reemplazo de Terminal.app.

Entre muchas otras funciones adicionales, en Preferencias de iTerm, puede configurar el directorio de trabajo predeterminado para nuevos shells. Encontrarás estas configuraciones en Perfiles - General.

La ventaja aquí es que puede establecer diferentes comportamientos para abrir una nueva ventana o abrir una nueva pestaña o incluso crear un nuevo panel de división. Personalmente, me gusta quedarme en el directorio de trabajo actual al agregar un panel dividido, por ejemplo.

También puede hacerlo en su script de inicio (aunque me parece que la solución iTerm es más limpia, o al menos más flexible), pero le aconsejo que use ~/.bash_profile en su lugar.

~/.bashrc no es automáticamente cuando se abre una nueva ventana de shell, y ~/.bash_login solo se obtiene si no está presente ~/.bash_profile .

    
respondido por el Gerry 30.08.2012 - 17:42

Lea otras preguntas en las etiquetas