Question

Lorsque je ssh dans mon ubuntu-box exécutant Hardy 8.04, les variables d'environnement de mon .bashrc ne sont pas définies.

Si je crée un fichier .bashrc source, les variables sont correctement définies et tout va bien.

Comment se fait-il que .bashrc ne soit pas exécuté à la connexion?

Était-ce utile?

La solution

.bashrc n'est pas généré lorsque vous vous connectez à l'aide de SSH. Vous devez le source dans votre .bash_profile comme ceci:

if [ -f ~/.bashrc ]; then
  . ~/.bashrc
fi

Autres conseils

J'ai eu une situation similaire à celle de Hobhouse. Je voulais utiliser la commande

 ssh myhost.com 'some_command'

et 'une_commande' existent dans '/ var / some_location' j'ai donc essayé d'ajouter '/ var / some_location' dans l'environnement PATH en éditant '$ HOME / .bashrc'

mais cela ne fonctionnait pas. car .bashrc par défaut (Ubuntu 10.4 LTS) empêche l’approvisionnement en code source comme ci-dessous

# If not running interactively, don't do anything
[ -z "$PS1" ] && return

so Si vous souhaitez modifier l'environnement pour un shell ssh non-login. vous devriez ajouter du code au-dessus de cette ligne.

Pour une excellente ressource sur le fonctionnement de l'invocation bash, le rôle de chaque fichier, et la manière dont vous devriez les utiliser / configurer, lisez ceci:

Si la solution de ayman ne fonctionne pas, essayez de nommer votre fichier .profile au lieu de .bash_profile . Cela a fonctionné pour moi.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top