2015-03-20 4 views
1

Я проверяю правильный формат даты в моей Баш скрипт с помощью следующего кода:совместимость Regex между несколькими оболочками

if [[ $variable == [0-9][0-9][0-9][0-9]-[0-1][0-9]-[0-3][0-9] ]] 

Формат должен быть: YYYY-MM-DD

Это хорошо работает в Баш, однако у меня возникают проблемы при попытке запустить его в тире или sh. Не могли бы вы помочь мне переписать это, чтобы он совместим с тире и sh? Или, альтернативно, найти другое решение, которое можно использовать для всех оболочек?

Заранее благодарен!

ответ

0

case должны работать в тире, тоже:

case 0015-18-32 in 
    [0-9][0-9][0-9][0-9]-[0-1][0-9]-[0-3][0-9]) echo yes ;; 
esac 
+0

Это прекрасно работает, спасибо! – mandatory