Ho un utente che non ha apportato modifiche a $ PATH in nessun file dot: è esattamente l'impostazione predefinita del sistema. Da una shell di login:
$ 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
Esattamente come specificato in /etc/profile
. Questo lo trovo piuttosto inaspettato:
$ ssh example.com '/tmp/hello.sh'
/bin/bash
/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
Come ho detto, non c'è alcuna modifica di $ PATH ~/.bashrc
né in /etc/bash.bashrc
. No ~/.ssh/environment
neanche. L' ssh(1)
dichiara che la variabile d'ambiente PATH
è
Impostato sul PATH predefinito, come specificato durante la compilazione di ssh.
ma questo thread di StackOverflow e questo articolo della mailing list suggeriscono che dovrei essere in grado di influenzare $ PATH per un dato comando semplicemente modificando / etc / profile, uno dei file di avvio della shell, ecc.
Cosa sta succedendo qui?