Tengo un .bash_profile
en mi directorio de inicio, pero no se ejecuta al iniciar sesión. Si hago lo siguiente, las cosas parecen ser como esperaba:
ssh myhost
bash
source ~/.bash_profile
Pero normalmente todo eso ocurre al iniciar sesión. Pensamientos?
~/.profile
o~/.bash_login
, ya que solo uno de los tres tiene su origen. (Olvidé el orden exacto)Respuestas:
Utilizar:
Ingrese su contraseña e indique la ruta al shell que desea usar.
Para Bash eso sería
/bin/bash
. Para Zsh eso sería/usr/bin/zsh
.fuente
sudo chsh -s /bin/bash username
Además de la respuesta de akira, también puede editar su archivo / etc / passwd para especificar su shell predeterminado.
Encontrará una línea como este ejemplo:
El shell se especifica al final.
fuente
/etc/passwd
y tiene cuidado, la respuesta de John es hacer un buen uso de las herramientas que proporciona el sistema.Puede verificar su programa de terminal. Puede estar configurado para ejecutar / bin / sh en lugar de / bin / bash
Bash ejecuta .bash_profile solo para sesiones de inicio de sesión. .bashrc se ejecuta para todas las sesiones de bash, no solo para las sesiones de inicio de sesión. Intente obtener .bash_profile de .bashrc (¡evite la dependencia circular!) O configure su programa de terminal para ejecutar / bin / bash -l como un programa de shell.
fuente
Habilitar bash:
Cambiar shell para el usuario:
dónde:
fuente
sudo
acceso a ese sistema? ¿Por qué proporciona instrucciones en términos de cambiar el shell de inicio de sesión de otro usuario?Una alternativa es cambiar el nombre de su script de inicio a .profile. Este archivo está siendo fuente por la mayoría de los shells Unix .
fuente
Para hacer que cualquier shell sea su predeterminado, primero verifique que esté instalado y reconocido en su computadora mirando el contenido de
/etc/shells
:Luego use
chsh
para cambiar su caparazón:Referencias
fuente
No hay suficiente información en su pregunta para que yo pueda decir con seguridad, pero he encontrado el mismo problema antes. Suponiendo que ya haya configurado / bin / bash en su entrada de contraseña, puede ser la forma en que se inicia su terminal.
Si está intentando iniciar un terminal GUI, supongamos
gnome-terminal
que puede estar esperando que el shell lea sus archivos de inicio de bash. Sin embargo, esto no sucede en Ubuntu y quizás en otros sistemas por defecto.La forma en que lo arreglé en Ubuntu es editar las preferencias de gnome-terminal y configurar el comando de inicio para que sea
bash -l
.-l
es la abreviatura de--login
. Esto le dice a bash que se inicie como un shell de inicio de sesión, lo que hace que cargue los scripts de inicio como lo hace cuando inicia sesión a través de ssh.Estoy seguro de que hay una buena razón para que esto sea así, pero me pareció sorprendente y un poco más que molesto, ya que comparto los mismos perfiles en los sistemas Linux, Cywgin y Macos.
fuente