我的问题与此类似,但是我正在寻找稍微不同的东西。我有一台笔记本电脑,用于在两种不同情况下访问网络上的Linux机器:
我有直接的有线连接到网络。
我与网络有间接连接。网络上有一台暴露于Internet的网关计算机,我可以使用它来建立到网络主机的SSH隧道。这显然是一个慢得多的,更高延迟的连接。
我的主目录可从所有机器通过网络访问,因此它们共享我的副本.bashrc
。我想添加功能以.bashrc
检测我处于两种情况中的哪一种并采取相应的措施(从技术上讲,将有三种情况,其中第三种是我登录到本地计算机,但是应该易于处理) )。我想做类似的事情:
alias ssh ssh -X
当我在本地网络上,但是我不想在Internet上使用X转发时。export EDITOR=gvim
当我在本地网络上但export EDITOR=vim
在远程时。
等等。根据先前的答案,看来我应该能够通过检查SSH_CLIENT
(如果存在)的内容并查看客户端IP地址是否与本地计算机上的网络适配器之一匹配来完成类似的操作。我想我会看看是否有一种更流畅或更强大的方法来完成此任务。