~/.perfil, ~/.bashrc, y ~/.bash_profile no se ejecuta en la nueva terminal de inicio
-
21-12-2019 - |
Pregunta
Estoy tratando de crear un permanente alias para mi terminal.Me puso el alias en mi ~/.perfil, ~/.bashrc, y ~/.bash_profile archivos, antes vacío.Cuando empiezo un nuevo terminal de bash no reconoce el alias, pero si he de origen de alguno de ellos, no.¿Por qué estos no llegar a ejecutar cuando abro el terminal?Estoy en OSX.
Solución
Dos cosas deben suceder cuando se utiliza iTerm
para obtener la carga de dotfiles a trabajar.
Primero se debe agregar el siguiente a su .bash_profile
[[ -s ~/.bashrc ]] && source ~/.bashrc
En segundo lugar usted necesita para asegurarse de que en iTerm
las preferencias de su terminal está listo para lanzar un shell de inicio de sesión.
Espero que esto ayude!
Otros consejos
Usando el terminal MAC predeterminado, lo que funcionó para mí fue agregar un comando para ejecutar en Inicio para obtener mi .bash_profile.
Preferencias> Perfil> Startup> Agregar comando 'fuente' / .bash_profile '
Captura de pantalla de la ventana de las preferencias de la terminal MAC
podría ser considerado un poco hacky, pero hace el truco.
ASO DE ALTA SIERRA, TERMINA TERTERÍSTENTE Y ITERM QUIERE CARGAR ~ / .profile primero.Así que le sugiero que coloque una línea en su .profile para hacer que su MAC funcione como otros Unixes:
fuente ~ / .bash_profile
Al editar este único archivo, no tendrá que buscar a través de los menús de múltiples aplicaciones para anular el comportamiento extraño de Apple en cada uno.
Agregar source ~/.profile
a mi .bash_profile
funcionó para mí.
¿Por qué los archivos de inicialización de la concha no están cargando?
Como con la mayoría de las cosas, depende ™
Recientemente experimenté el mismo fenómeno y pasé por el siguiente ejercicio para resolverlo:
Yo uso ITERM. ITERM ejecuta un shell de inicio de sesión por defecto. Verifique en ITERM Preferencias> Comando General>> (*) Concha de inicio de sesión Por lo tanto, sé que ~ / .bash_profile siempre se llamará.
Sabiendo que, pongo lo siguiente en mi archivo ~ / .bash_profile:
for file in ~/.{bashrc,bash_exports,bash_aliases,bash_functions}; do
[ -r "$file" ] && source "$file"
done
unset file
Observe que uso archivos separados para .bashrc, .bash_exports, etc. Mantiene las cosas separadas y simples.
Tenga en cuenta también que / etc / perfil se carga primero, pero como nunca he usado ese archivo de inicio de ancho del sistema, supe que ese no era mi problema. Para obtener más información, eche un vistazo a $ man bash
Entonces, comencé con mi archivo ~ / .bash_profile.
Descubrí que cuando instalé canopy express que su instalador reemplazó el contenido de mi ~ / .bash_profile Archivo con el siguiente contenido:
# Added by Canopy installer on 2017-04-19
# VIRTUAL_ENV_DISABLE_PROMPT can be set to '' to make the bash prompt show that Canopy is active, otherwise 1
alias activate_canopy="source '/Users/lex/dev/python/User/bin/activate'"
# VIRTUAL_ENV_DISABLE_PROMPT=1 source '/Users/lex/dev/python/User/bin/activate'
P.s. El canopy es un IDE excelente y gratuito de Python, que recomiendo.
Afortunadamente, respaldo a mis archivos ~ / .bash *, así que restaurando eso fue fácil y rápidamente arreglado mi problema.
Mi consejo sería comprender el orden de las llamadas a sus archivos de inicialización y comenzar con el primero y trabajar su camino a través de ellos hasta que encuentre el problema.
Oh, y es posible que desee verificar qué shell está usando (uso bash):
~ $ echo $SHELL
/usr/local/bin/bash
Supongo que puede utilizar otra shell, tales como bash, tcsh, sh, zsh, etc.
Poner source .bash_profile
en el 'bashrc' archivo hará que el auto de carga recuperado, es decir,
.inicio de sesión para tcsh, .bash_profile para bash .zshrc como para zsh