相关疑难解决方法(0)

SSH 到两个地址,使用第一个连接的地址

我有一台家用电脑(我们称它为富兰克林,因为我就是这么称呼它的),我经常从我的工作笔记本电脑上通过 ssh 连接到它。当我在家时,我 ssh 到 franklin.local,而当我在工作或其他任何地方时,我 ssh 到 remote.address.of.franklin。

我希望在我的个人资料中有一个功能,该功能始终以正确的方式连接。我的网络状况经常变化(有线与无线、不同的 SSID 等),所以我不想通过检测网络状态来做到这一点,而是:

  1. 如果富兰克林在本地可用,则在本地连接,
  2. 否则,远程连接

这是我现在使用的:

function franklin () {
    ping -c 5 "franklin.local" > /dev/null
    if [[ $? != 0 ]]
        then
        echo "franklin not available on local, so trying remote connection"
        ssh -p 22 remote.address.of.franklin
    else
        echo "franklin available on local network, so trying local connection"
        ssh username@franklin.local
    fi
}
Run Code Online (Sandbox Code Playgroud)

问题是,ping 需要时间。我的问题是:我可以同时执行两个 ssh 命令,然后自动使用第一个连接的命令吗?

ssh zsh shell-script ping

5
推荐指数
1
解决办法
377
查看次数

标签 统计

ping ×1

shell-script ×1

ssh ×1

zsh ×1