Вот еще одно решение с bash. Во-первых, вы можете создать массив из вашей переменной ind:
ind=($(shuf -i 1-100 -n 10 | sort -n))
Чтобы создать массив с числами от 1 до 100, проще всего сделать это:
numbers=({1..100})
Чтобы добраться до дополнения, я бы использовал uniq -u. Эта команда может отсортировать все дубликаты из уже отсортированного списка. Последняя команда вставки просто снова помещает все значения в одну строку.
complement=($(echo ${ind[*]} ${numbers[*]} | sed 's/ /\n/g' | sort -n | uniq -u | paste -sd " " - ))
echo ${complement[*]}
Просто переосмыслив вопрос, все это можно сделать и без массивов bash:
ind=$(shuf -i 1-100 -n 10 | sort -n)
echo $ind {1..100} | sed 's/ /\n/g' | sort -n | uniq -u | paste -sd " " -
Я не нашел решения, как вернуть свой CA.crt, и решил развернуть новые сертификаты, поскольку соединения в настоящее время все еще активны. Я установил тестовую среду и протестировал рабочий процесс, описанный ниже.После этого я также использовал этот рабочий процесс для живых подключений и работал нормально!
Перед обменом новыми сертификатами и проверкой конфигураций не перезапускайте никакие службы. Важно, чтобы служба сервера OpenVPN не перезапускалась до тех пор, пока все клиенты не получат свои новые сертификаты, а службы на клиентах не будут перезапущены.
Теперь я восстановил все клиентские соединения с новыми сертификатами.
Если у меня будет время, я могу попробовать сделать это на запасном Raspberry Pi и посмотреть. Но, в противном случае, первое, что я бы сделал, это убедиться, что вы можете удаленно подключаться к клиентским компьютерам, либо с помощью teamviewer, либо чего-то подобного, таким образом, вам в конечном итоге придется сдуть все и начать заново, вы можете удаленно подключиться к ним..