Я пишу скрипт, который создает apache и nginx vhost. Имя хоста вводится с клавиатуры. Как я могу проверить свой ввод и распечатать сообщение об ошибке (в конечном счете, остановить скрипт), если ввод содержит символы: «-», «,» ??Проверить ввод специальных символов
0
A
ответ
2
Типичный «перечитать» цикл выглядит следующим образом:
while true; do
read -p "Hostname?" -r hostname
case $hostname in
*[-,]*) echo "Try again";;
*) break;;
esac
done
Это мне не ясно, как запятая и дефис является «специальными», тогда как знак процента, PILE OF POO, а все остальные нет.
+0
Спасибо, что сработало для меня! –
Как вы читаете ввод? Вы уже пробовали что-нибудь для этого? –
Я просто использую 'read filename' и задаюсь вопросом, будут ли операторы' case' делать для меня с шаблоном типа 'case $ filename in * [_] *) do' –