¿Cómo puedo recargar
.bash_profile
desde la línea de comando ?
Puedo hacer que el shell reconozca los cambios al .bash_profile
salir y volver a iniciar sesión, pero me gustaría poder hacerlo a pedido.
¿Cómo puedo recargar
.bash_profile
desde la línea de comando ?
Puedo hacer que el shell reconozca los cambios al .bash_profile
salir y volver a iniciar sesión, pero me gustaría poder hacerlo a pedido.
Respuestas:
Simplemente escriba source ~/.bash_profile
Alternativamente, si desea guardar las pulsaciones de teclas, puede escribir . ~/.bash_profile
alias reload='source ~/.bash_profile && echo "File .bash_profile reloaded correctly" || echo "Syntax error, could not import the file"';
. ~/.bash_profile
Solo asegúrate de no tener dependencias del estado actual allí.
.
comando en este caso?
.
es simplemente un alias para el source
comando.
.
es más viejo que source
es.
source
es una implementación específica de fiesta.
.
y source
son literalmente lo mismo en bash. Desde el enlace: " source
es un sinónimo de punto / punto .
" en bash, pero no en POSIX sh, por lo que para una compatibilidad máxima use el punto ".
Simplemente escriba:
. ~/.bash_profile
Sin embargo, si desea que se ejecute automáticamente cuando se inicia el terminal en lugar de ejecutarlo cada vez que abra el terminal, puede agregarlo . ~/.bash_profile
al ~/.bashrc
archivo.
Nota:
Cuando abre una terminal, la terminal comienza a bash en modo interactivo (sin inicio de sesión), lo que significa que se generará ~/.bashrc
.
~/.bash_profile
solo se obtiene de bash cuando se inicia en modo de inicio de sesión interactivo . Por lo general, esto solo ocurre cuando inicia sesión en la consola ( Ctrl+ Alt+ F1.. F6) o cuando se conecta a través de ssh
.
También puede usar este comando para recargar el ~ / .bash_profile para ese usuario. Asegúrate de usar el tablero.
su - username
Me gusta el hecho de que después de que acaba de editar el archivo, todo lo que necesita hacer es escribir:
. !$
Esto genera el archivo que acaba de editar en el historial. Vea ¿Qué es el dólar bang en bash ?
cd
. .bash_profile
cd
. No hay necesidad de ~
.
cd
, puede volver a cargarlo desde el directorio en el que se encuentra actualmente:. ~/.bash_profile
Si no le importa perder el historial de su terminal de shell actual, también podría hacerlo
bash -l
Eso bifurcaría su caparazón y abriría otro proceso hijo de bash. El -l
parámetro le dice a bash que se ejecute como un shell de inicio de sesión, esto es necesario porque .bash_profile no se ejecutará como un shell sin inicio de sesión, para obtener más información sobre esto, lea aquí
Si desea reemplazar por completo el shell actual, también puede hacer:
exec bash -l
Lo anterior no bifurcará su shell actual, sino que lo reemplazará por completo, por lo que cuando escriba exit
, terminará por completo, en lugar de dejarlo caer al shell anterior.
Agregue alias bashs="source ~/.bash_profile"
a su archivo bash. Entonces puedes llamar la bashs
próxima vez
reset
- más fácil de recordar
si el .bash_profile no existe, puede intentar ejecutar el siguiente comando:
. ~/.bashrc
o
source ~/.bashrc
en lugar de .bash_profile. Puedes encontrar más información sobre bashrc
Quería publicar una respuesta rápida que mientras usa source ~/.bash_profile
o las respuestas mencionadas anteriormente funcionan, una cosa para mencionar es que esto solo recarga su perfil de bash en la pestaña o sesión actual que está viendo. Si desea volver a cargar su perfil de bash en cada pestaña / shell, debe ingresar este comando manualmente en cada una de ellas.
Si usa iTerm, puede usar CMD⌘+ Shift+ Ipara ingresar un comando en todas las pestañas actuales . Para el terminal puede ser útil hacer referencia a este problema ;
solo necesitas escribir . ~/.bash_profile
consulte: /superuser/46139/what-does-source-do
Yo uso Debian y simplemente puedo escribir exec bash
para lograr esto. No puedo decir si funcionará en todas las demás distribuciones.
. .bash_profile
mientras está dentro de su directorio de inicio en Mac hará el trabajo. Igual que la respuesta dada anteriormente por 7urkm3n.
alias reload!=". ~/.bash_profile"
o si quieres agregar registros a través de funciones
function reload! () {
echo "Reloading bash profile...!"
source ~/.bash_profile
echo "Reloaded!!!"
}
. ~/. bash_profile
nisource ~/.bash_profile
Estoy ejecutando Sierra, y estuve trabajando en esto por un tiempo (probando todas las soluciones recomendadas). Me confundí, así que finalmente intenté reiniciar mi computadora. Funcionó
mi conclusión es que a veces es necesario un restablecimiento completo
alias BASHRELOAD=". ~/.bash_profile"
. Si haces esto a menudo, solo puedes usar el alias comobr
.