Câu hỏi của tôi tương tự như câu hỏi này , nhưng tôi đang tìm kiếm một cái gì đó hơi khác. Tôi có một máy tính xách tay mà tôi sử dụng để truy cập các máy Linux trên mạng theo hai trường hợp khác nhau:
Tôi có một kết nối trực tiếp, có dây với mạng.
Tôi có một kết nối gián tiếp với mạng. Có một máy cổng trên mạng tiếp xúc với Internet, tôi có thể sử dụng để thiết lập các đường hầm SSH tới các máy chủ lưu trữ trên mạng. Đây rõ ràng là một kết nối chậm hơn, độ trễ cao hơn nhiều.
Thư mục nhà của tôi có thể truy cập mạng từ tất cả các máy, vì vậy chúng chia sẻ một bản sao của tôi .bashrc
. Tôi muốn thêm chức năng để .bashrc
phát hiện kịch bản nào trong hai kịch bản tôi tham gia và hành động phù hợp (về mặt kỹ thuật, sẽ có ba kịch bản, trong đó thứ ba là tôi đang đăng nhập vào máy cục bộ của mình, nhưng điều đó có thể dễ dàng xử lý ). Tôi muốn làm những việc như:
alias ssh ssh -X
khi tôi ở trên mạng cục bộ, nhưng tôi không muốn sử dụng chuyển tiếp X qua Internet.export EDITOR=gvim
khi tôi ở trên mạng cục bộ, nhưngexport EDITOR=vim
khi tôi ở xa.
Và như thế. Dựa trên câu trả lời trước đó, có vẻ như tôi sẽ có thể thực hiện được điều gì đó như thế này bằng cách kiểm tra nội dung của SSH_CLIENT
(nếu nó tồn tại) và xem liệu địa chỉ IP của máy khách có khớp với một trong các bộ điều hợp mạng trên máy cục bộ của tôi không. Tôi nghĩ rằng tôi sẽ thấy nếu có một cách khéo léo hoặc mạnh mẽ hơn để thực hiện điều này.