Comment est-il possible de changer le shell par défaut? La envcommande dit actuellement:
SHELL=/bin/tcshet je veux changer cela en Bash.
Comment est-il possible de changer le shell par défaut? La envcommande dit actuellement:
SHELL=/bin/tcshet je veux changer cela en Bash.
Réponses:
Essayez la commande linux chsh.
La commande détaillée est chsh -s /bin/bash. Il vous demandera d'entrer votre mot de passe. Votre shell de connexion par défaut est /bin/bashmaintenant. Vous devez vous déconnecter et vous reconnecter pour voir ce changement.
Ce qui suit est extrait de la page de manuel:
La commande chsh modifie le shell de connexion utilisateur. Cela détermine le nom de la commande de connexion initiale des utilisateurs. Un utilisateur normal peut uniquement changer le shell de connexion pour son propre compte, le superutilisateur peut changer le shell de connexion pour n'importe quel compte
Cette commande modifiera définitivement le shell de connexion par défaut.
Remarque: Si votre compte d'utilisateur est distant, par exemple lors de l'authentification Kerberos (par exemple, Enterprise RHEL), vous ne pourrez pas l'utiliser chsh.
chsh: can only change local entries; use ypchsh instead. Alors ypchsh n'a aucune -soption
                    /etc/passwd, mais je ne l'ai pas revérifié.
                    exec /bin/bashà ~/.profileet cela m'a permis de me connecter directement à bash sans apporter de modifications au serveur. (Le shell par défaut d'origine était juste /bin/sh)
                    exitbash? Voulez-vous déconnecter le serveur directement ou simplement quitter le bash et dans le sh et un autre exitrequis pour vous déconnecter du serveur?
                    Vous pouvez modifier le fichier passwd directement pour l'utilisateur particulier ou utiliser la commande ci-dessous
chsh -s /usr/local/bin/bash usernameEnsuite, déconnectez-vous et connectez-vous
which bashavant d'appeler la commande ci-dessus; votre kilométrage peut varier selon l'emplacement. Dans mon cas, il a été trouvé dans/bin/bash
                    chshcommande fait partie du util-linuxpackage; et chsh -s $(which bash) $USERdevrait avoir le même résultat que ci-dessus.
                    -loption: "imprimer la liste des coquilles".
                    chsh -s /bin/bash usernamepour moi
                    Vous devriez avoir un «squelette» quelque part /etc, probablement /etc/skeleton, ou vérifier les paramètres par défaut, probablement /etc/defaultou quelque chose. Ce sont des scripts qui définissent les variables d'environnement standard définies lors d'une connexion.
Si c'est juste pour votre propre compte: vérifiez le fichier (caché) ~/.profileet ~/.login. Ou générez-les, s'ils n'existent pas. Ceux-ci sont également évalués par le processus de connexion.
/etc/default/useradd