Recuerdo que ampliamente lo que hace, pero no específicamente:
if [ -f ~/.bashrc ]; then
source ~/.bashrc
fi
¿Qué es exactamente el propósito para él otra vez?
Recuerdo que ampliamente lo que hace, pero no específicamente:
if [ -f ~/.bashrc ]; then
source ~/.bashrc
fi
¿Qué es exactamente el propósito para él otra vez?
Esta orígenes de una ~/.bashrc
archivo si existe y carga el contenido de ese archivo.
La respuesta corta a tu pregunta es: esto se hizo así que no importa cómo usted consigue para su máquina, a través de una concha se abrió en una sesión de escritorio interactiva o un ingreso de ssh a la máquina, su bash
shell tiene un consistente programa de instalación.
La no respuesta a por qué tenía que hacerlo de esta manera se encuentra por debajo de...
La razón por la que quieres hacer esto está inmerso en bash historia: uno de esos archivos se utiliza para inicios de sesión interactivos, y la otra se usa para los no-inicios de sesión interactivos. El pensamiento detrás de tener dos configuraciones diferentes es que usted podría desear algunas cosas en tu shell interactivo (un símbolo de lujo, un mensaje del día, colourization de su comando de salida, etc.) que no quieres en un no-sesión interactiva porque los viajes en el acceso mediante programación a la entrada y salida y lo que no.
Para la mayoría de usuarios, aunque desea que ambos entornos a ser el mismo. La mayoría de nosotros no están funcionando lo suficientemente complicado como bash configuraciones para justificar la separación de los interactivos y no interactivos configuraciones como este.
El .bash_profile
es ejecutado por shells de inicio de sesión, mientras que .bashrc
es ejecutado por interactivas no shells de inicio de sesión.
Hay un buen artículo por Josh Staiger que habla acerca de por qué uno sobre el otro y cómo recordar dónde poner las cosas. Permitidme citar algunos de aquí:
Lo que es un inicio de sesión o no-shell de inicio de sesión?
Cuando de inicio de sesión (tipo de nombre de usuario y contraseña) a través de la consola, ya sea sentado en la máquina, o de forma remota a través de
ssh
:.bash_profile
es ejecutado para configurar el shell antes de la primera símbolo del sistema. Pero, si ya has iniciado sesión en tu máquina y abra una nueva ventana de terminal (xterm
) dentro de Gnome o KDE, a continuación,.bashrc
es ejecutado antes de que la ventana de símbolo del sistema..bashrc
también se ejecuta cuando se inicia una nueva instancia de bash escribiendo/bin/bash
en un terminal.Mac OS X - a excepción de
Una excepción a la ventana de terminal directrices de Mac OS X
Terminal.app
, el cual se ejecuta un shell de inicio de sesión por defecto para cada nueva ventana de terminal, llamando.bash_profile
en lugar de.bashrc
. Otras GUI de los emuladores de terminal server puede hacer lo mismo, pero la mayoría tienden a no.Recomendación
La mayoría del tiempo usted no desea mantener separado en dos archivos de configuración de inicio de sesión y no shells de inicio de sesión - cuando se establece una RUTA de acceso, que quiere que se aplican a ambos. Usted puede solucionar este problema mediante el sourcing
.bashrc
de su.bash_profile
archivo, a continuación, poner la RUTA de acceso y configuraciones comunes en.bashrc
.Para ello, agregue las líneas siguientes .bash_profile:
if [ -f ~/.bashrc ]; then source ~/.bashrc fi
Ahora, cuando usted ingrese a su máquina desde una consola
.bashrc
será llamado.
Ver a Ian C descripción de lo que la línea de código fuente ¿
Este está rodeado por una declaración de si
if x; then
....
fi
esto comprueba en x y, a continuación, ejecuta el código entre el entonces y el fi (La idea de fi de terminar y, si y otro endins por reverseing el principio clave es el uso en sh y relacionados con conchas.
La verificación que se hace aquí es [ -f ~/.bashrc ]
que es el mismo que test -f .bashrc
el si le dice a prueba de devolver true iff lo que sigue-f es un archivo y no lo existe.
Por lo que el código dice que si hay una .bashrc se ejecuta en el cirrent shell.
AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.