Comment m'assurer que les sources ssh .profile
y .bashrc
sur la connexion sans tty ?
J'ai un Mac (10.6.8) que j'utilise pour diverses tâches UNIX comme l'hébergement de dépôts git. J'ai activé la connexion à distance via le volet "Partage" des Préférences Système. Lorsque je ssh
dans la machine, bash
sources ~/.profile
que j'ai mis en place pour fournir mes ~/.bashrc
et mettre en place mon MacPorts chemin. Le problème est que lorsque j'exécute ssh
sans un tty
comme ceci :
ssh myhost echo \$PATH
Ou lancez un git
qui utilise essentiellement ssh
de la même manière :
git clone ssh://myhost/~/code/myrepo.git
Mon ~/.profile
n'a jamais de source, donc mon $PATH
la variable est manquante /opt/local
(où MacPorts a installé git
). Je suis conscient que :
- Je peux configurer
git
sur ma machine locale pour utiliser/opt/local/bin/git-*
sur ma machine distante - Je n'aurais pas ce problème si je forçais une
tty
avecssh -t
Mais je ne veux faire ni l'un ni l'autre. Je veux que ma machine distante source mon ~/.profile
indépendamment du fait que je me connecte ou non avec un tty.
Comment faire de ce rêve une réalité ?
Aussi : J'ai vérifié le comportement sur un couple de machines Linux (Debian et Fedora), et les deux systèmes semblent être à la source de la ~/.bashrc
lors de la connexion, qu'il s'agisse d'un fichier tty
. J'avais l'impression que BSD et Linux utilisaient tous les deux la même technologie. OpenSSH y bash Il semble donc que la différence de comportement puisse provenir de différences dans les éléments suivants /etc
les fichiers de configuration ?