Saya memiliki pengguna yang tidak melakukan modifikasi pada $ PATH dalam file-file apa pun: ini persis dengan pengaturan default sistem. Dari shell 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
Persis seperti yang ditentukan dalam /etc/profile
. Saya menemukan ini agak tidak terduga:
$ ssh example.com '/tmp/hello.sh'
/bin/bash
/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
Seperti yang saya katakan, tidak ada modifikasi $ PATH di ~/.bashrc
, atau di /etc/bash.bashrc
. Juga ~/.ssh/environment
tidak. Yang ssh(1)
menyatakan bahwa variabel lingkungan PATH
adalah
Setel ke PATH default, seperti yang ditentukan saat kompilasi ssh.
tapi thread ini dari StackOverflow dan ini mailing list artikel menyarankan bahwa saya harus bisa mempengaruhi $ PATH untuk perintah yang diberikan hanya dengan memodifikasi / etc / profile, salah satu file shell startup, dll
Apa yang terjadi di sini?