Проблемы при настройке DHCP-сервера на CentOS 6

Эта проблема вызвана ошибками в пакете "bash-completing".

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

Предполагается, что пакет "bash-completing" просматривает оставшуюся часть строки и "умно" создает списки, которые он генерирует. Однако он не может успешно дублировать расширение "glob".

Лично я считаю, что пакет слишком старается и в конечном итоге может использоваться только «самым тупым обычным пользователем».

Однако перед его удалением вы можете проверить верхнюю часть файла "/ usr / share / bash-completion / bash_completion" на предмет полезных дополнений к вашему .bashrc для «грубой настройки» встроенного автозавершения bash.

Кстати: в нем более сотни зарегистрированных ошибок ... https://bugs.debian.org/cgi-bin/pkgreport.cgi?package=bash-completion

0
26.05.2015, 14:05
1 ответ

Мне удалось разделить $ 1 и вытащить часть часа и дня с помощью awk. Поскольку его разделителем по умолчанию является пробел, это хорошо разделяет значение времени cronjob.

Пример значения $ 1 : 0 19 * * 1-5

CRONJOB_HOUR=$(echo "$1" | awk '{ print $2 }') # Second position: 19
CRONJOB_DAY=$(echo "$1" | awk '{ print $5 }') # Fifth position: 1-5

С этими частями в переменной я могу затем выполнять условные проверки.

Первая проверка будет меньше или больше проверки для создания диапазона

if [ "${CRONJOB_HOUR}" -lt 7 ] || [ "${CRONJOB_HOUR}" -gt 22 ] ; then
    echo "Cronjob cannot be scheduled within specified hour"
    exit 1
fi

Вторая проверка выполняется на основе совпадения, а не равенства, чтобы поймать значения типа 1-6

if [[ "${CRONJOB_DAY}" == *"6"* ]] || 
[[ "${CRONJOB_DAY}" == *"7"* ]] 
then
    echo "Cronjob cannot be set to run at weekends"  
    exit 1
fi
0
29.04.2021, 00:28

Теги

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