Похоже, что TLS 1.3 будет официально доступен в RHEL 8 .
Если кто-то другой не сделал это за вас, для его запуска в RHEL 7 потребуется перекомпилировать как openssl
, так и nginx
, как вы упомянули.
Вы можете использовать официальные контейнеры Nginx Docker , которые, насколько я помню, уже некоторое время были созданы для TLS 1.3.
Ваше описание того, что вы хотите сделать, в зависимости от наличия файлов, немного расплывчато. Также неясно, хотите ли вы собирать имена отдельно для каждого префикса имени файла или вместе. Также может быть лучше выбрать конкретную дату, например, и попытаться найти набор файлов из нее. Приведенный ниже код должен немного помочь вам в программировании.
Этот ответ будет аналогичен моему ответу на ваш предыдущий вопрос в том смысле, что мы пройдемся по набору статических строк, чтобы проверить, существуют ли имена файлов, содержащие эти строки, или нет.
Вы можете циклически перебирать префиксы имен файлов и на каждой итерации проверять, существует ли какой-либо файл с этим префиксом (и с суффиксом имени файла .txt
).
for prefix in CV_REF_DATA_ DB_ONLINE_CL_ DFR_CL_INS_; do
set -- /NAS/CFG/"$prefix"*.txt
if [ -e "$1" ]; then
printf 'There exists names matching "%s"*.txt:\n' "$prefix"
printf '\t%s\n' "$@"
else
printf 'No names matches "%s"*.txt\n' "$prefix"
fi
done
Цикл перебирает префиксы имен файлов, и на каждой итерациимы пытаемся расширить шаблон, который должен соответствовать интересующим нас файлам для этого префикса. Команда set
сохранит совпадающие имена файлов в списке позиционных параметров("$@"
; "$1"
— первый элемент этого списка ).
В оболочке bash
мы можем написать приведенный выше блок кода следующим образом.
shopt -s nullglob
for prefix in CV_REF_DATA_ DB_ONLINE_CL_ DFR_CL_INS_; do
names=( /NAS/CFG/"$prefix"*.txt )
if [ "${#names[@]}" -gt 0 ]; then
printf 'There exists names matching "%s"*.txt:\n' "$prefix"
printf '\t%s\n' "${names[@]}"
else
printf 'No names matches "%s"*.txt\n' "$prefix"
fi
done
Параметр оболочки nullglob
заставляет не -совпадающие подстановочные шаблоны исчезать, а не оставаться нераскрытыми. Мы используем именованный массив names
для хранения любых совпадающих имен файлов на каждой итерации.
Для буквальной интерпретации вашей проблемы :Вызовите какой-нибудь другой скрипт, если хотя бы одно из имен файлов дерева CV_REF_DATA_09012021.txt
, DB_ONLINE_CL_09012021.txt
, DFR_CL_INS_09012021.txt
находится в каталоге /NAS/CFG
. Добавьте существующие имена в массив.
shopt -s nullglob
unset -v names
for name in CV_REF_DATA_09012021.txt DB_ONLINE_CL_09012021.txt DFR_CL_INS_09012021.txt
do
[ -e /NAS/CFG/"$name" ] && names+=( "$name" )
done
if [ "${#names[@]}" -eq 0 ]; then
echo 'no files could be found' >&2
exit 1
fi
# At least one name is in the "names" array.
# Call your other script below here.