проверка диапазона с помощью switch/case в fish shell

Возможно ли нечто подобное с рыбой? Т.е.

switch $var
  case a-z
    do something
  case "*"
    do something else
end

case "*"работает нормально, но case a-zне срабатывает. Я также пробовал case [ a-z ], но безрезультатно.

0
19.10.2016, 01:34
1 ответ

В оболочке Fish по какой-то причине не реализованы наборы символов. Предполагая, что вы используете последнюю версию, используйте строковую команду

if string match --quiet --regex '[a-z]' $var >/dev/null
    echo $var contains a letter
else
    echo $var has no letters
end

Я использую сопоставление регулярных выражений из-за минимальных шаблонов глобусов в fish

1
28.01.2020, 02:47

Теги

Похожие вопросы