谁能解释一下这个在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表达式中查找正则表达式,但没有任何意义,也没有找到解释##.