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 ~/.bashrcveya içinde herhangi bir değişiklik yok /etc/bash.bashrc. Hayır ~/.ssh/environment. ssh(1)Ortam değişkeni olduğunu beyan PATHolduğ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?