小编Lit*_*Jim的帖子

Linux shell脚本中的RegEx Confusion

谁能解释一下这个在linux shell中的作用.....

port=$((${devpath##*[-.]} - 1))
Run Code Online (Sandbox Code Playgroud)

我有一个名为变量$devpath,一个可能的值是/sys/bus/usb/devices/usb2/2-1.

我假设$ {devpath ##*[ - .]}在$ devpath上执行某种正则表达式,但这对我没有意义.我理解的*[ - .]也不是指"除了换行符之外的任何一个角色中的任何一个"或者任何其他角色"

当运行脚本(这是来自usb-devices.sh)时,似乎port的值始终是第一个数字.让我困惑的其他东西是最后的'-1',不应该减少${devpath##*[-.]}一个人的任何东西吗?

我尝试在shell表达式中查找正则表达式,但没有任何意义,也没有找到解释##.

regex linux shell

3
推荐指数
2
解决办法
55
查看次数

标签 统计

linux ×1

regex ×1

shell ×1