¿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.
bash
shell
command-line
Markdorison
fuente
fuente
alias BASHRELOAD=". ~/.bash_profile"
. Si haces esto a menudo, solo puedes usar el alias comobr
.alias reload='source ~/.bash_profile && echo "File .bash_profile reloaded correctly" || echo "Syntax error, could not import the file"';
Solo asegúrate de no tener dependencias del estado actual allí.
fuente
.
comando en este caso?.
es simplemente un alias para elsource
comando..
es más viejo quesource
es.source
es una implementación específica de fiesta.
.
ysource
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:
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 dessh
.fuente
También puede usar este comando para recargar el ~ / .bash_profile para ese usuario. Asegúrate de usar el tablero.
fuente
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 ?
fuente
cd
. .bash_profile
fuente
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.fuente
Agregue
alias bashs="source ~/.bash_profile"
a su archivo bash. Entonces puedes llamar labashs
próxima vezfuente
reset
- más fácil de recordarsi el .bash_profile no existe, puede intentar ejecutar el siguiente comando:
o
en lugar de .bash_profile. Puedes encontrar más información sobre bashrc
fuente
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 ;
fuente
solo necesitas escribir
. ~/.bash_profile
consulte: /superuser/46139/what-does-source-do
fuente
Yo uso Debian y simplemente puedo escribir
exec bash
para lograr esto. No puedo decir si funcionará en todas las demás distribuciones.fuente
. .bash_profile
mientras está dentro de su directorio de inicio en Mac hará el trabajo. Igual que la respuesta dada anteriormente por 7urkm3n.o si quieres agregar registros a través de funciones
fuente
. ~/. 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
fuente