bash中打印机的页面设置输入

时间:2018-05-21 04:50:42

标签: bash shell

我想提供一种方法来输入我的脚本ezkill的流程ID,该脚本与我们习惯的打印机页面设置输入具有相同的属性:

  • 范围扩展:a-e => abcde
  • 枚举:' a,d,e' => ade
  • 两者的混合:' a-e,g,h' => abcdegh

由于这是一种常见的模式,我不想重新发明轮子。 您是否了解我可以重用的一些现有bash功能/程序?

1 个答案:

答案 0 :(得分:0)

如果你转换你的模式,那么简单的正则表达式匹配就可以了。

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