linux - que - ejecutar bash_profile
¿Cómo obtengo la pantalla GNU para leer los cambios de.bash_profile/.bash_rc? (2)
Si desea que la pantalla siempre trate su shell como un shell de inicio de sesión, y genere los mismos archivos que se leerían si se iniciara un shell nuevo normalmente, agregue lo siguiente a ~/.screenrc
(o tal vez ~/.byobu/.screenrc
, como se señala en el comentario):
shell -$SHELL
De esta manera, no es necesario que le diga manualmente a la fuente de sus archivos cada vez que inicie una nueva pantalla. Aunque tendrías que hacerlo si acabas de hacer cambios y quieres que esos cambios se reflejen en tu pantalla actual.
La documentación para esto (y muchos otros detalles de la pantalla) se puede encontrar here . Básicamente, el shell
es un comando que se muestra en la pantalla diciéndole que ejecute lo siguiente cuando necesite crear un nuevo shell. $SHELL
es la variable habitual que mantiene la ruta de acceso a su shell preferido. Y el guión -
enfrente de $SHELL
indica que debe ejecutarse como un shell de inicio de sesión (lo que normalmente significa que obtiene su ~/.bash_profile
, etc.).
Vale la pena señalar, sin embargo, que la pantalla por defecto simplemente hereda la mayoría de las variables de entorno del shell donde se inicia la pantalla; y un sub-shell de inicio de sesión puede alterar algunas variables de entorno de manera inesperada. Me encontré con una situación en la que los elementos de mi $ PATH básicamente se permutaron. Resolví el problema gracias a esta respuesta particularmente excelente sobre superusuario.
Puede observar el comando source
disponible. Es importante tener en cuenta que esto proporciona un archivo de comandos de screen
, en lugar de comandos de shell. Otros comandos relevantes (pantalla) incluyen eval
y exec
.
Después de hacer cambios en .bash_rc
o .bash_profile
, cuando inicio la pantalla GNU, no reconoce esos cambios. puedo
source ~/.bash_profile
y funciona para la ventana de pantalla actual que tengo abierta, pero tengo que hacer eso para cada ventana de pantalla que tengo abierta.
¿Cómo obtengo una pantalla para leer mis últimos cambios en la configuración de mi bash?
Tienes que hacerlo en cada pantalla que tienes abierta ya que todas son conchas diferentes. Si necesita el cambio cada vez que se abre un nuevo shell, le sugiero que coloque los cambios en ~ / .bashrc en su lugar.
Aparentemente, puede enviar un comando a todas las ventanas a la vez usando esta sintaxis :
C-a :
at "#" stuff "source ~/.bash_profile^M"