在shell脚本中展开ssh hostname

时间:2014-08-31 13:57:19

标签: shell ssh

我在〜/ .ssh / config中配置了几个主机,例如:

Host SomeHost
  Hostname 10.0.0.3
  User SomeUser

我正在尝试从shell脚本(%h变量)中获取主机名部分(10.0.0.3)作为变量。 这有可能吗?

1 个答案:

答案 0 :(得分:1)

host2ip() {
    awk -v host="$1" '
        $1 == "Host" && $2 == host {have_host = 1}
        have_host && $1 == "Hostname" {print $2; exit}
    ' ~/.ssh/config
}

ip=$(host2ip SomeHost)
echo $ip
10.0.0.3