El shell predeterminado para rootOS X es /bin/sh. Su shes también una versión de bash, pero cuando se invoca con el nombre shBash :
intenta imitar el comportamiento de inicio de versiones históricas de la forma shmás cercana posible, al tiempo que se ajusta al estándar POSIX también.
Cuando se invoca como un shell de inicio de sesión interactivo o como un shell no interactivo con la --loginopción, primero intenta leer y ejecutar comandos desde /etc/profiley ~/.profile, en ese orden. ... un shell invocado como sh no intenta leer y ejecutar comandos desde ningún otro archivo de inicio
Es decir, no se lee .bash_profileen absoluto, independientemente de si se invocó como un shell de inicio de sesión o no . En su .profilelugar, puede usar , o incluso vincular uno a otro. Si inicia un shell de inicio de sesión con su -l, .profilese carga al inicio, pero .bash_profilenunca lo será.
También se puede utilizardscl para cambiar la cáscara de la raíz (señalando que /etc/passwdse no se utiliza para determinar la cáscara en OS X). Puede verificar el shell actual de root con dscl . -read /Users/root UserShell; consulte la documentación y piense detenidamente antes de cambiarla por otra cosa.
Otro enfoque es simplemente cambiar su suinvocación para forzar la ejecución bashinmediata.
Dado lo que ha dicho, probablemente recomendaría el enlace simbólico, pero es posible que desee ver los cambios que realiza el modo POSIX de Bash y decidir si desea tenerlos o no.