Tôi có một người dùng đã không thực hiện sửa đổi đối với $ PATH trong bất kỳ tệp chấm nào: đó chính xác là cài đặt mặc định của hệ thống. Từ một vỏ đăng nhập:
$ 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
Chính xác như được chỉ định trong /etc/profile
. Điều này tôi thấy khá bất ngờ:
$ ssh example.com '/tmp/hello.sh'
/bin/bash
/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
Như tôi đã nói, không có sửa đổi nào về $ PATH trong ~/.bashrc
, cũng như không /etc/bash.bashrc
. Không ~/.ssh/environment
có. Các ssh(1)
tuyên bố rằng biến môi trường PATH
là
Đặt thành PATH mặc định, như được chỉ định khi biên dịch ssh.
nhưng luồng này từ StackOverflow và bài viết danh sách gửi thư này cho thấy rằng tôi sẽ có thể ảnh hưởng đến $ PATH cho một lệnh đã cho chỉ bằng cách sửa đổi / etc / profile, một trong các tệp khởi động shell, v.v.
Những gì đang xảy ra ở đây?