цикл for с парой ключ-значение, порядок сортировки ключей не поддерживается

Сетевой стек ядра обрабатывает сообщения ICMP, отправляемые командой ping.

Если вы не получаете ответов, помимо проблем с сетью или фильтрацией, а также фильтрации/ограничения скорости -/черного -дырирования/и т. д. это означает, что машина, вероятно, чем-то перегружена, что может быть временным, или произошел сбой ядра, что бывает редко, но может случиться (неисправное оборудование и т. д. ), не обязательно из-за трафика ICMP (, но попытка перегрузить его таким трафиком может быть хорошей проверкой в ​​начале жизни сервера, чтобы увидеть, как он поддерживает вещи ). В более позднем случае сбоя ядра у вас должно быть достаточно информации в файлах журнала или на консоли.

Также обратите внимание, что pingпочти всегда является неправильным инструментом для проверки того, находится ли служба в сети или нет. По разным причинам, но в основном потому, что он по определению не имитирует реальный трафик приложения. Например, если вам нужно проверить, что веб-сервер все еще работает, вы должны вместо этого сделать HTTP-запрос к нему (TCP-порт 80 или 443 ), если вам нужно проверить почтовый сервер, вы делаете SMTP-запрос (TCP-порт 25 ), если DNS-сервер, UDP и TCP-запрос к порту 53 и т. д.

0
25.04.2020, 02:41
1 ответ

В bash declare -A arrобъявляет ассоциативный массив. Ключи в ассоциативном массиве хэшируются, и порядок обхода ${!arr[@]}не гарантируется 1 .

$ declare -A arr
$ arr=( ["2018"]=5%12 ["2019"]=1%12 ["2020"]=1%2 )
$ for year in "${!arr[@]}"; do printf '%s: %s\n' "${year}" "${arr[${year}]}"; done
2019: 1%12
2018: 5%12
2020: 1%2

Напротив, declare -a arrобъявляет индексированный массив, который должен сортироваться, как вы ожидаете:

$ declare -a arr
$ arr=( [2018]=5%12 [2019]=1%12 [2020]=1%2 )
$ for year in "${!arr[@]}"; do printf '%s: %s\n' "${year}" "${arr[${year}]}"; done
2018: 5%12
2019: 1%12
2020: 1%2

Поскольку ваши ключи (лет )являются числовыми, кажется, нет причин не использовать индексированный массив в этом контексте.


Ссылки:

  1. Как сохранить порядок ассоциативного массива?
1
19.03.2021, 02:26

Теги

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