Khi tôi chạy chương trình của mình một cách tương tác, nó hoạt động tốt:
ssh somehost
$ ~/some/path/somescript.py
Khi tôi chạy chương trình của mình qua ssh trực tiếp, nó không hoạt động. Biến PYTHONPATHkhông được đặt, vì .bashrckhông có nguồn gốc.
ssh somehost ~/some/path/somescript.py
Nếu tôi chạy ssh somehost 'source ~/.bashrc; ~/some/path/somescript.py', nó hoạt động tốt.
Nhưng cái sau sẽ không hiệu quả với một số người khác, ví dụ như sử dụng tcsh và hoàn toàn không có ~/.bashrc).
Là những gì các lệnh để chạy một điều qua ssh trên máy chủ khác mà làm việc cho tất cả vỏ?
bash, thì nó sẽ lấy nguồn .bash_profilehoặc .profileđể đăng nhập tương tác và .bashrccho đăng nhập không tương tác. Nếu shell đăng nhập của bạn được bash gọi là as shhoặc ash hoặc ksh, nó sẽ .profiletạo ra một thông tin đăng nhập tương tác và không có gì cho đăng nhập không tương tác.