¿Cómo pasa la Terminal de OS X el directorio de la nueva pestaña para iniciar sesión o bash?

¿Cómo pasa la Terminal de OS X el directorio de la nueva pestaña para iniciar sesión o bash?

En OS X, puede agregar un shell a /etc/shells y configurarlo como el shell predeterminado del usuario, de modo que cuando abran la terminal se les presente ese shell. Además, tiene la opción de abrir todas las pestañas nuevas de la terminal en el mismo directorio que la pestaña actualmente enfocada, esto se logra enviando la contraseña a la aplicación de la terminal a través de una función integrada en el mensaje, y la nueva pestaña pasando esa información a iniciar sesión o bash. Mi pregunta es ¿cómo se pasa esta información al inicio de sesión o al bash, como argumentos? ¿Variable ambiental?

La razón por la que quiero saber es que los shells que se incluyen con OS X no muestran cd /path/to/last/dirque es el primer comando que se ejecuta cuando abres una pestaña (con la configuración del directorio deseada) mientras usas un shell que no se incluye con OS. X (por ejemplo, un bash moderno), y me gustaría encontrar una manera de replicarlo en mi configuración.

El terminal tiene uno /usr/local/bin/bash --noediting -ien ejecución y cada pestaña tiene lo siguiente en ejecución:

login -pf camdennarzt -bash

y si está utilizando un shell que no viene con OS X, entonces la primera ejecución del comando es cd /path/to/last/dirpero se ejecuta en un indicador como si se hubiera escrito el comando. Y si está utilizando un shell incluido, el directorio aún se cambia pero el El comando que lo hace no se muestra.

/etc/bashrc_Apple_Terminalparece estar relacionado.

En Sierra muestra que el shell se inició como: login -pfl camdennarzt /bin/bash -c 'exec -la bash /usr/local/bin/bash'y el problema desapareció, por lo que puede estar relacionado.

información relacionada