Мой вопрос похож на этот , но я ищу что-то немного другое. У меня есть ноутбук, который я использую для доступа к машинам Linux в сети в двух разных сценариях:
У меня есть прямое проводное подключение к сети.
У меня есть косвенное подключение к сети. В сети есть шлюз, доступный через Интернет, который я могу использовать для установки SSH-туннелей к хостам в сети. Это, очевидно, намного более медленное соединение с более высокой задержкой.
Мой домашний каталог доступен по сети со всех машин, поэтому они разделяют мою копию .bashrc
. Я хотел бы добавить функциональность, чтобы .bashrc
определить, в каком из двух сценариев я нахожусь, и действовать соответствующим образом (технически, было бы три сценария, где третий - то, что я вхожу в свою локальную машину, но это должно быть легко обработано ). Я хотел бы сделать такие вещи, как:
alias ssh ssh -X
когда я в локальной сети, но я не хочу использовать переадресацию X через Интернет.export EDITOR=gvim
когда я в локальной сети, ноexport EDITOR=vim
когда я удаленный.
И так далее. Исходя из предыдущего ответа, похоже, что я смогу выполнить нечто подобное, проверив содержимое SSH_CLIENT
(если оно существует) и проверив, соответствует ли IP-адрес клиента одному из сетевых адаптеров на моей локальной машине. Я думал, что увижу, есть ли более приятный или более надежный способ сделать это.