J'ai un utilisateur qui n'a apporté aucune modification au $ PATH dans aucun fichier dot: c'est exactement le paramètre par défaut du système. Depuis un shell de connexion:
$ ssh example.com
user@example.com:~$ cat /tmp/hello.hs
#!/bin/bash
echo "$SHELL"
echo "$PATH"
user@example.com:~$ /tmp/hello.hs
/bin/bash
/usr/local/bin:/usr/bin:/bin
Exactement comme spécifié dans /etc/profile
. Je trouve cela plutôt inattendu:
$ ssh example.com '/tmp/hello.sh'
/bin/bash
/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
Comme je l'ai dit, il n'y a pas de modification de $ PATH dans ~/.bashrc
, ni dans /etc/bash.bashrc
. Non ~/.ssh/environment
non plus. La ssh(1)
déclare que la variable d'environnement PATH
est
Définissez le PATH par défaut, comme spécifié lors de la compilation de ssh.
mais ce fil de StackOverflow et cet article de liste de diffusion suggèrent que je devrais être capable d'influencer $ PATH pour une commande donnée simplement en modifiant / etc / profile, l'un des fichiers de démarrage du shell, etc.
Que se passe t-il ici?