1

Я вижу странную проблему с CentOS 6.4, zsh 4.3.10 (x86_64-redhat-linux-gnu).

Это запускает два регулярных выражения в одной строке. Ни одно выражение не передает условное условие if, но когда я ИЛИ их вместе

$ if [[ "foo" =~ "^\s*$" ]]; then; echo "Test"; fi
$ if [[ "foo" =~ "^\.+$" ]]; then; echo "Test"; fi
$ if [[ "foo" =~ "^\.+$" || "foo" =~ "^\s*$" ]]; then; echo "OR test"; fi
OR test

Насколько я могу судить, это происходит только в CentOS, я получаю ожидаемое поведение с zsh 5.0.2 (x86_64-apple-darwin13.0) и zsh 5.0.2 (x86_64-pc-linux-gnu)

1 ответ1

1

Последнее, если должно быть немного иначе, если или желательно. Пытаться:

if [[ "foo" =~ "^\.+$" ]] || [[ "foo" =~ "^\s*$" ]]; then; echo "OR test"; fi

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .