【发布时间】:2015-07-15 06:55:17
【问题描述】:
谁能解释一下这在 linux shell 中的作用.....
port=$((${devpath##*[-.]} - 1))
我有一个名为$devpath 的变量,一个可能的值是/sys/bus/usb/devices/usb2/2-1。
我假设 ${devpath##*[-.]} 在 $devpath 上执行某种正则表达式,但这对我来说毫无意义。我理解的 *[-.] 也不是“字符'-'或除换行符以外的任何其他字符中的一个或多个”
通过脚本运行时(来自usb-devices.sh),似乎端口的值始终是第一个数字。让我感到困惑的是最后的“-1”,这不应该将${devpath##*[-.]} 所做的事情减少一个吗?
我尝试在 shell 表达式中查找正则表达式,但没有任何意义,我在哪里可以找到 ## 的解释。
【问题讨论】:
-
不看你的整个剧本我们怎么知道??