Я добавляю в существующий сценарий функцию, которая позволит пользователю настроить имя хоста системы Linux. Правила, которые я применяю, следующие:
- Должно быть от 2 до 63 символов.
- Не должно начинаться или заканчиваться дефисом
- Может содержать только буквенно-цифровые символы и дефисы; все остальные символы не разрешены (включая подчеркивание, что означает, что я не могу использовать символ регулярного выражения \W)
Я решил первые два в списке, но мне трудно понять, как проверить, содержит ли строка bash только буквы, цифры и дефисы. Я думаю, что могу сделать это с помощью регулярного выражения, но мне трудно понять, как это сделать (последний час я провел в Интернете и читал справочные страницы).
Я готов использовать sed, grep или любые другие стандартные инструменты, но не Perl или Python.