J'ai un .bash_profile
dans mon répertoire personnel, mais il ne se lance pas à la connexion. Si je fais ce qui suit, alors les choses semblent être comme je l’attendais:
ssh myhost
bash
source ~/.bash_profile
Mais normalement, tout se passe lors de la connexion. Pensées?
~/.profile
ou~/.bash_login
, car un seul des trois est d'origine. (J'ai oublié l'ordre exact.)Réponses:
Utilisation:
Entrez votre mot de passe et indiquez le chemin d'accès au shell que vous souhaitez utiliser.
Pour Bash, ce serait
/bin/bash
. Pour Zsh, ce serait/usr/bin/zsh
.la source
sudo chsh -s /bin/bash username
En plus de la réponse d'Akira, vous pouvez également modifier votre fichier / etc / passwd pour spécifier votre shell par défaut.
Vous trouverez une ligne comme celle-ci:
Le shell est spécifié à la fin.
la source
/etc/passwd
et que vous êtes prudent, la réponse de John exploite pleinement les outils fournis par le système.Vous pouvez vérifier votre programme de terminal. Il peut être configuré pour exécuter / bin / sh plutôt que / bin / bash
Bash exécute .bash_profile uniquement pour les sessions de connexion. .bashrc est exécuté pour toutes les sessions bash, pas seulement les sessions de connexion. Essayez d’acheter .bash_profile à partir de .bashrc (évitez les dépendances circulaires!) Ou de configurer votre programme de terminal pour qu’il exécute / bin / bash -l en tant que programme shell.
la source
Activer bash:
Changer de shell pour l'utilisateur:
où:
la source
sudo
accès à ce système? Pourquoi donnez-vous des instructions pour changer le shell de connexion d'un autre utilisateur?Une alternative consiste à renommer votre script de démarrage en .profile. Ce fichier est en train d’être source par la plupart des shells Unix .
la source
Pour définir n'importe quel shell par défaut, vérifiez d'abord qu'il est installé et reconnu sur votre ordinateur en consultant le contenu de
/etc/shells
:Puis utilisez
chsh
pour changer votre shell:Références
la source
Il n’ya pas assez d’informations dans votre question pour que je puisse le dire, mais j’ai déjà rencontré le même problème. En supposant que vous ayez déjà défini / bin / bash dans votre entrée de mot de passe, il se peut que ce soit la façon dont votre terminal démarre.
Si vous essayez de lancer un terminal graphique, supposez
gnome-terminal
que le shell lise vos fichiers de démarrage bash. Cependant, cela ne se produit pas sur Ubuntu et peut-être sur d'autres systèmes par défaut.La façon dont je l'ai corrigé sur Ubuntu consiste à éditer les préférences de gnome-terminal et à définir la commande de démarrage sur
bash -l
.-l
est l'abréviation de--login
. Cela indique à bash de démarrer en tant que shell de connexion, ce qui lui permet de charger les scripts de démarrage tels que vous les obtenez lors de la connexion via ssh.Je suis sûr que la raison en est que c’est bien, mais j’ai trouvé cela surprenant et un peu gênant de partager les mêmes profils sur les systèmes linux, cywgin et macos.
la source