DEVTYPE=partition
时间: 2023-08-31 20:11:51 浏览: 176
"DEVTYPE=partition" 是一个 udev 规则中的一部分,用于指定设备类型为分区。udev 是 Linux 系统中的一个设备管理工具,它负责在系统启动时检测和配置硬件设备。udev 规则允许用户根据设备属性为设备应用自定义配置。
在 udev 规则中,可以使用各种属性来匹配设备并应用相应的规则。"DEVTYPE" 是一个用于匹配设备类型的属性。当设备类型为 "partition" 时,对应的规则将会被触发。
例如,以下是一个简单的 udev 规则示例,它匹配设备类型为分区的设备,并在设备插入时执行一些操作:
```
ACTION=="add", SUBSYSTEM=="block", ENV{DEVTYPE}=="partition", RUN+="/path/to/script.sh"
```
上述规则中,"ACTION" 属性指定了触发规则的动作(在这种情况下是设备添加),"SUBSYSTEM" 属性指定了要匹配的子系统(块设备),"ENV{DEVTYPE}" 属性指定了要匹配的设备类型(分区),"RUN" 属性指定了在匹配成功时要执行的命令或脚本。
当符合规则条件的设备插入系统时,指定的脚本 `/path/to/script.sh` 将会被执行。
这只是一个简单的示例,实际的 udev 规则可以更复杂,并且可以根据设备属性进行更精确的匹配和配置。
相关问题
DEVTYPE=disk
"DEVTYPE=disk" 是一个udev规则中的一部分,用于指定设备类型为磁盘。udev是Linux系统中的一个设备管理工具,它负责在系统启动时检测和配置硬件设备。udev规则允许用户根据设备属性为设备应用自定义配置。
在udev规则中,可以使用各种属性来匹配设备并应用相应的规则。"DEVTYPE" 是一个用于匹配设备类型的属性。当设备类型为 "disk" 时,对应的规则将会被触发。
例如,以下是一个简单的udev规则示例,它匹配设备类型为磁盘的设备,并在设备插入时执行一些操作:
```
ACTION=="add", KERNEL=="sd[a-z]", ENV{DEVTYPE}=="disk", RUN+="/path/to/script.sh"
```
上述规则中,"ACTION" 属性指定了触发规则的动作(在这种情况下是设备添加),"KERNEL" 属性指定了要匹配的设备名称模式(例如,sd[a-z] 匹配所有的磁盘设备),"ENV{DEVTYPE}" 属性指定了要匹配的设备类型(磁盘),"RUN" 属性指定了在匹配成功时要执行的命令或脚本。
当符合规则条件的磁盘设备插入系统时,指定的脚本 `/path/to/script.sh` 将会被执行。
这只是一个简单的示例,实际的udev规则可以更复杂,并且可以根据设备的其他属性进行更精确的匹配和配置。
awk -F '=' "/\[$section\]/{a=1}(a==1 && \"$key\"==\$1){\$2=\"=\"$value\"\"}1" $file > tmp.ini cat tmp.ini |grep devtype 为什么输出是devtype =1,而不是devtype=1
这是因为在awk命令中,你使用了双引号来包含字符串,而双引号会对其中的变量进行展开和替换。所以在将$value的值赋给\$2时,双引号也被包含了进去,就导致了输出中出现了多余的空格。
为了避免这种情况,你可以使用单引号来包含字符串,这样其中的变量就不会被展开和替换:
```
awk -F '=' '/\['$section'\]/{a=1}(a==1 && "'$key'"==$1){$2="="'$value'""}1' $file > tmp.ini
```
这样输出就会是devtype=1了。
阅读全文