Если TYPE
не установлено, пусто или полностью состоит из пробелов, ваше утверждение сводится к if [ = "hour" ]
, что является синтаксической ошибкой.
Поскольку вы используете sh
, общим обходным решением для этого является префикс:if [ "x$TYPE" = "xhour" ]
Вы не можете просто использовать слабые кавычки, потому что ""
также разрешается в if [ = "hour" ]
; по крайней мере с sh
. bash
при использовании более надежного синтаксиса двойной -фигурной скобки (e. г.if [[ "$TYPE" = "hour" ]]
)поступит правильно, не прибегая к префиксам или суффиксам.
^(http:\/\/www\.|https:\/\/www\.|http:\/\/|https:\/\/)?[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$