Не могли бы вы попробовать, добавив еще один способ получения имени хоста из файла ~ / .ssh / config.
Первое решение: Подготовлено и протестировано в GNUawk
.
awk -v ip="111.11.111.111" -v RS="" '$3=="Hostname" && $4==ip && $1=="Host"{print $2}' ~/.ssh/config
ИЛИ
awk -v ip="111.11.111.111" -v RS="" '
$3=="Hostname" && \
$4==ip && \
$1=="Host"{
print $2
}' ~/.ssh/config
2-е решение: Используя tac
с awk
здесь.
tac ~/.ssh/config | awk -v ip="111.11.111.111" '$1=="Hostname" && $NF==ip{getline;if($1=="Host"){print $2;exit}}'