2015-02-16 3 views
0

Я пишу скрипт, который создает apache и nginx vhost. Имя хоста вводится с клавиатуры. Как я могу проверить свой ввод и распечатать сообщение об ошибке (в конечном счете, остановить скрипт), если ввод содержит символы: «-», «,» ??Проверить ввод специальных символов

+1

Как вы читаете ввод? Вы уже пробовали что-нибудь для этого? –

+0

Я просто использую 'read filename' и задаюсь вопросом, будут ли операторы' case' делать для меня с шаблоном типа 'case $ filename in * [_] *) do' –

ответ

2

Типичный «перечитать» цикл выглядит следующим образом:

while true; do 
    read -p "Hostname?" -r hostname 
    case $hostname in 
     *[-,]*) echo "Try again";; 
     *) break;; 
    esac 
done 

Это мне не ясно, как запятая и дефис является «специальными», тогда как знак процента, PILE OF POO, а все остальные нет.

+0

Спасибо, что сработало для меня! –