У частині сценарію, над яким я працюю, я хочу перевірити, що введена IP-адреса в правильному форматі. Я хочу зробити цикл, поки формат введення НЕ правильний. Наступне працює для циклу, коли формат IS правильний.
while [[ $range =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3} ]]
do
Як я можу це змінити, щоб сказати, НЕ відповідає формату. Я сподівався, що !=~
це спрацює, але я отримую синтаксичну помилку.
2
Synner, одна нота обережності: хоча зрозуміло, що ви пишете інтерактивний сценарій, величезна сила сценаріїв оболонок походить від того, що можна робити те ж саме з тим самим сценарієм як в інтерактивному, так і в пакетному режимі. В майбутньому, безумовно, буде простіше (коли ви почнете використовувати сценарій як будівельний блок) просто ввести параметри в командному рядку та негайно повернутися з ненульовим кодом виходу (та повідомленням), якщо щось не так. Тільки мої 2 копійки…
—
Мисливець на олень