Для записи, в zsh
функциональность indexOf соответствует:
$ set foo bar baz bar foo
$ echo $@[(i)bar] $@[(I)bar]
2 4
($2
— это первое совпадение (с использованием i
флага нижнего индекса ), $4
последнее совпадение(I
флаг нижнего индекса )).
=~
— бинарный оператор из руководства 3.2.5.2 Условные конструкции:
An additional binary operator, ‘=~’, is available, with the same precedence as ‘==’ and ‘!=’. When it is used, the string to the right of the operator is considered a POSIX extended regular expression[...]
{a..z}
является расширением фигурной скобки 3.5.1 Расширение фигурной скобки:
Brace expansion is a mechanism by which arbitrary strings may be generated.
Итак, вам нужен шаблон регулярного выражения для соответствия строке:
$ disk=sdb
$ [[ $disk =~ ^sd[a-z]$ ]] && echo "$disk is real disk"
$ sdb is real disk