¿Cómo es posible cambiar el shell predeterminado? El env
comando actualmente dice:
SHELL=/bin/tcsh
y quiero cambiar eso a Bash.
¿Cómo es posible cambiar el shell predeterminado? El env
comando actualmente dice:
SHELL=/bin/tcsh
y quiero cambiar eso a Bash.
Respuestas:
Prueba el comando linux chsh
.
El comando detallado es chsh -s /bin/bash
. Le pedirá que ingrese su contraseña. Su shell de inicio de sesión predeterminado es /bin/bash
ahora. Debe cerrar sesión y volver a iniciarla para ver este cambio.
Lo siguiente se cita de la página del manual:
El comando chsh cambia el shell de inicio de sesión del usuario. Esto determina el nombre del comando de inicio de sesión inicial de los usuarios. Un usuario normal solo puede cambiar el shell de inicio de sesión para su propia cuenta, el superusuario puede cambiar el shell de inicio de sesión para cualquier cuenta
Este comando cambiará el shell de inicio de sesión predeterminado de forma permanente.
Nota: Si su cuenta de usuario es remota, como en la autenticación Kerberos (por ejemplo, Enterprise RHEL), no podrá usarla chsh
.
chsh: can only change local entries; use ypchsh instead
. Entonces ypchsh no tiene ninguna -s
opción
/etc/passwd
, pero no lo revisé dos veces .
exec /bin/bash
a ~/.profile
lo que permitió que me registre directamente a fiesta sin hacer ningún cambio en el servidor. (El shell predeterminado original era solo /bin/sh
)
exit
escribes bash? ¿Cerrará sesión en el servidor directamente o simplemente saldrá de bash y entrará en el sh y se exit
requiere otro para cerrar sesión en el servidor?
Puede cambiar el archivo passwd directamente para el usuario en particular o usar el siguiente comando
chsh -s /usr/local/bin/bash username
Luego cierre sesión e inicie sesión
which bash
antes de invocar el comando anterior; su kilometraje puede variar según la ubicación. En mi caso, fue encontrado en/bin/bash
chsh
comando es parte del util-linux
paquete; y chsh -s $(which bash) $USER
debería resultar igual que el anterior.
-l
opción: "imprimir lista de conchas".
chsh -s /bin/bash username
para mí
Debería tener un 'esqueleto' en algún lugar /etc
, probablemente /etc/skeleton
, o verificar la configuración predeterminada, probablemente /etc/default
o algo así. Esos son scripts que definen variables de entorno estándar que se configuran durante un inicio de sesión.
Si es solo para su propia cuenta: verifique el archivo (oculto) ~/.profile
y ~/.login
. O generarlos, si no existen. Estos también son evaluados por el proceso de inicio de sesión.
/etc/default/useradd