Estoy teniendo problemas para establecer el shell por defecto de Terminal.app. Parece que funciona utilizando una utilidad de línea de comandos que establece el shell para la cuenta, sin embargo no en el diálogo de Terminal.app que es para cada sesión. Encuentro que si establezco el sistema de shell con 'chsh', la variable $SHELL en Terminal.app refleja correctamente el shell. Si cambio el shell sólo en Terminal.app, $SHELL no refleja correctamente el shell, sin embargo el shell parece ser el correcto en ejecución. He probado esto en una cuenta temporal para descartar otras interacciones y tiene el mismo comportamiento.
Este es un caso de uso: Cuando ejecuto en Terminal.app:
$ chsh -s /bin/ksh
e invocar Terminal.app, el shell se cambia correctamente:
$ echo $SHELL
/bin/ksh
El problema es que si intentas algo similar a través de Terminal.app->Preferencias->General->Shells open with->Command->/bin/ksh
$ echo $SHELL
/bin/bash
Sin embargo, cuando intento completar el comando con TAB, refleja el comportamiento de ksh.
Por lo tanto, mi sospecha es que hay algo que anula la variable de entorno SHELL donde siempre es SHELL=/bin/bash, a pesar de que el shell es diferente a eso.
¿Alguien sabe si Apple tiene un error aquí?