Я хотел бы предоставить способ ввода идентификаторов процессов для моего сценария Эзкилл, который имел бы те же свойства, что и входные параметры настройки страницы принтера, к которым мы привыкли:
a-e => abcdeadeabcdeghПоскольку это распространенный образец, я бы предпочел не изобретать велосипед на нем. Знаете ли вы о некоторых существующих функциях / программах bash, которые я мог бы использовать повторно?





Простое сопоставление регулярных выражений сделало бы это, если бы вы преобразовать свои шаблоны.
declare -A exps
exps=([range]='a-e', [enum]='a,d,e', [mix]='a-e,g,h')
for c in {a..h}
do
for k in "${!exps[@]}"
do
e = "${exps[$k]}"
printf $'is \'%s\' a match for \'%s\'?: ' "$c" "$e"
# transform the pattern expression
[[ "$c" =~ [${e//,}] ]] && printf 'yes' || printf 'no'
printf '\n'
done
done
Где здесь необходимость в коде? Я не вижу вопроса. Если мы неправильно его поняли, укажите точные необходимые входные данные и необходимые выходные данные, а также какие исследовательские усилия вы предприняли самостоятельно.