SUBSYSTEM=="usb", ACTION=="add", PROGRAM="/path/to/script.sh", \ RUN+="/path/to/another_script.sh %c"其中%c是什么意思
时间: 2024-04-15 17:03:31 浏览: 173
xv6环境配置1
在udev规则中,`%c`是一个特殊的占位符,用于表示设备的内核名称(kernel name)。当udev规则匹配到一个设备时,`%c`将被替换为该设备的内核名称。
在上面的示例中,当一个USB设备的子系统为usb且发生add操作时,首先会执行`/path/to/script.sh`脚本。然后,使用`RUN+="/path/to/another_script.sh %c"`将设备的内核名称作为参数传递给`/path/to/another_script.sh`脚本。
在`/path/to/another_script.sh`脚本中,可以通过访问`$1`来获取传递的参数值,该参数值将是设备的内核名称。
例如,在`another_script.sh`中,您可以使用以下方式获取传递的内核名称:
```bash
#!/bin/bash
# 获取传递的内核名称
KERNEL=$1
# 执行其他操作
echo "Received KERNEL value: $KERNEL"
```
上面的示例中,脚本将接收到的内核名称打印到控制台。您可以根据实际需求,在脚本中使用该参数执行其他操作。
阅读全文