¿Cómo puedo hacer que mi shell siempre comience en un directorio determinado que no es mi directorio de inicio?

he intentado poner

cd /Users/my_name/my_directory/structure

en ambos .bashrcy .bash_loginpero ninguno funciona, es decir, cuando abro una nueva ventana de terminal estoy en mi directorio de inicio (/Usuarios/mi_nombre/).

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

Respuestas (2)

Como mencionó Gerry, .bashrclos shells de inicio de sesión no lo leen. Las pestañas nuevas son shells de inicio de sesión de forma predeterminada en Terminal e iTerm 2. .bash_loginSolo se lee si no hay un archivo .bash_profile.

También puede agregar un cdcomando a .bash_profile.

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 características adicionales, en Preferencias de iTerm, puede configurar el directorio de trabajo predeterminado para nuevos shells. Encontrará esta configuración en Perfiles - General.

Directorio de trabajo predeterminado de iTerm

La ventaja aquí es que puede establecer diferentes comportamientos para abrir una nueva ventana frente a abrir una nueva pestaña o incluso crear un nuevo panel dividido. Personalmente, me gusta permanecer en el directorio de trabajo actual cuando agrego un panel dividido, por ejemplo.

También podría hacerlo en su secuencia de comandos de inicio (aunque encuentro la solución iTerm más limpia, o al menos más flexible), pero le aconsejo que la use en su ~/.bash_profilelugar.

~/.bashrcno se obtiene automáticamente al abrir una nueva ventana de shell y ~/.bash_loginsolo se obtiene si no ~/.bash_profileestá presente.

Siempre obtengo mi .bashrc de mi .bash_profile para no tener que recordar a quién se llama desde dónde.
@CajunLuke hago algo bastante similar: github.com/gerryvdm/dotfiles
Si la modificación del campo "Directorio" de Working Directory no tiene efecto, probablemente necesite cambiar Comando de "Comando" a "Iniciar sesión" ( fuente ).