Herhangi bir nokta dosyalarında $ PATH hiçbir değişiklik yapmayan bir kullanıcı var: tam olarak sistem varsayılan ayardır. Bir giriş kabuğundan:
$ 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
Tam olarak belirtildiği gibi /etc/profile
. Bu oldukça beklenmedik buluyorum:
$ ssh example.com '/tmp/hello.sh'
/bin/bash
/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
Dediğim gibi, $ PATH içinde ~/.bashrc
veya içinde herhangi bir değişiklik yok /etc/bash.bashrc
. Hayır ~/.ssh/environment
. ssh(1)
Ortam değişkeni olduğunu beyan PATH
olduğunu
Ssh derlenirken belirtildiği gibi varsayılan PATH olarak ayarlayın.
ancak StackOverflow ve bu posta listesi makalesinden gelen bu iş parçacığı , / etc / profile, kabuk başlangıç dosyalarından birini, vb. değiştirerek belirli bir komut için $ PATH'ı etkileyebilmem gerektiğini önerir .
Burada neler oluyor?