¿Por qué Mac OS X no es fuente ~ / .bashrc?

Encontré a mucha gente descifrando por qué las instrucciones son similares a esto:

Put X to your ~/.bashrc and you can do Y 

no funciona

Siempre resulta que los files de inicio de bash de Mac OS X (o Bash de Mac en sí) no obtienen el file ~ / .bashrc, ni en el shell de inicio de session ni en un shell generado desde el sistema de windows, como la aplicación Terminal en Mac OS X)

¿Por qué es esto, cuando todos los otros sistemas tipo Unix con Bash con los que he trabajado antes han hecho esto?

PD:

Encontré lo que dice Bash sobre los files de inicio (lo que podría ser útil):

Cuando Bash se invoca como un shell de inicio de session interactivo o como un shell no interactivo con la opción –login, primero lee y ejecuta commands desde el file / etc / profile, si ese file existe. Después de leer ese file, busca ~ / .bash_profile, ~ / .bash_login, y ~ / .profile, en ese order, y lee y ejecuta commands del primero que existe y que es legible. La opción –noprofile se puede usar cuando el shell se inicia para nhibernate este comportamiento.

Fuente: http://www.gnu.org/software/bash/manual/bashref.html#Bash-Startup-Files

  • Bash o Zsh, ¿cuál es la diferencia, por qué usar uno u otro?
  • No se puede crear un enlace simbólico dentro de una carpeta diferente
  • ¿Cambiando la apariencia del Dock de 3D a 2D?
  • En Bash, ¿puedo exportar text desde el corte a un nuevo command?
  • ¿El command "purgar" daña algo en mi sistema?
  • La carga promedio aumenta después de actualizar a Mavericks
  • ¿Cómo hago enlaces simbólicos invisibles en el Finder?
  • Ejecute el command de terminal desde el file .terminal
  • 2 Solutions collect form web for “¿Por qué Mac OS X no es fuente ~ / .bashrc?”

    En OSX, el terminal inicia de manera pnetworkingeterminada una session de inicio de session, por lo que lee .bash_profile, etc. (El process de inicio de la GUI que solicita su nombre y contraseña no usa scripts de shell y no inicia ningún shell; todo se hace desde launchd y workspace)

    En otros Unices xterm ejecuta un shell que no es de inicio de session por lo que leen .bashrc como los scripts que le presentan su contraseña, etc. al iniciar session llaman a la session de inicio de session y todos los terminales son subprocesss de este y henetworkingan el entorno de shell.

    Del documento GNU que mencionaste

    Se invoca como un shell interactivo sin inicio de session

    Cuando se inicia un shell interactivo que no es un shell de inicio de session, Bash lee y ejecuta commands de ~ / .bashrc, si ese file existe. Esto puede nhibernatese al usar la opción –norc. La opción de file –rcfile obligará a Bash a leer y ejecutar commands desde el file en lugar de ~ / .bashrc.

    Entonces, típicamente, su ~ / .bash_profile contiene la línea

     if [ -f ~/.bashrc ]; then . ~/.bashrc; fi 

    después (o antes) de cualquier initialization específica de inicio de session.

    bash solo lee .bashrc para shells que no inician session :

    Cuando se inicia un shell interactivo que no es un shell de inicio de session, bash lee y ejecuta commands desde ~ / .bashrc, si ese file existe. Esto puede nhibernatese al usar la opción –norc. La opción de file –rc obligará a bash a leer y ejecutar commands desde el file en lugar de ~ / .bashrc.

    Como Terminal inicia bash como un shell de inicio de session (ejecuta w para ver que las instancias de bash se ejecutan como -bash ), .bashrc nunca se lee automáticamente.

    Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).