запускать команды на основе awk find из файла

Вы должны проверить множество состояний:

1 маршрутизация с вашего клиента на сервер

2 проверьте исходный интерфейс, который вы используетеping

причина в том, что вы используете ping, например, с одним из физических интерфейсов и на вашем сервере у вас нет маршрута к вашему туннелю для физического интерфейса.

3 проверить маршрутизацию в пункте назначения и iptableи т. д.

0
18.08.2021, 08:58
1 ответ

Не используйте для этого awk вообще, так как он не дает никаких преимуществ и создает дополнительную сложность и неэффективность. Оболочки существуют для манипулирования файлами и процессами и последовательности вызовов инструментов, и это именно то, что вы делаете, -написав сценарий для последовательности вызовов некоторых команд. Вам не нужно вызывать внешний инструмент, такой как awk, из оболочки, просто чтобы сравнить 2 строки как часть этого.

Просто сделайте это в оболочке:

#!/usr/bin/env bash
file1='ip.txt'
while read -r ip role rest; do
    case $role in
        puppetclient )
            echo "Found the IP $ip with the text $role"
            echo "Will install puppet agent"
            command_to_install_puppet_agent
            ;;
        puppetmaster )
            echo "Found the IP $ip with the text $role"
            echo "Will install puppet server"
            command_to_install_puppet_server
            ;;
    esac
done < "$file1"
0
20.08.2021, 10:26

Теги

Похожие вопросы