Mam użytkownika, który nie wprowadził żadnych zmian do zmiennej $ PATH w żadnym pliku kropkowym: jest to dokładnie domyślne ustawienie systemowe. Z powłoki logowania:
$ 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
Dokładnie jak określono w /etc/profile
. To wydaje mi się raczej nieoczekiwane:
$ ssh example.com '/tmp/hello.sh'
/bin/bash
/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
Tak jak powiedziałem, nie ma modyfikacji $ PATH w ~/.bashrc
, ani w /etc/bash.bashrc
. Nie ~/.ssh/environment
albo. ssh(1)
Deklaruje, że zmienna PATH
jest
Ustaw domyślną ŚCIEŻKĘ, określoną podczas kompilacji ssh.
ale ten wątek z StackOverflow i ten artykuł z listy mailingowej sugerują, że powinienem mieć wpływ na $ PATH dla danego polecenia, po prostu modyfikując / etc / profile, jeden z plików startowych powłoki itp.
Co tu się dzieje?