gpt4 book ai didi

linux - 使用 udev 规则操作内核设备名称

转载 作者:太空宇宙 更新时间:2023-11-04 04:05:29 24 4
gpt4 key购买 nike

我有一个 bash 脚本,它接受 KERNEL 设备名称作为参数,并输出一个可用作新 KERNEL 设备名称的新字符串。

Example: 
bash myScript sda
output: sdaa

我使用自定义 udev 规则来实现此目的。

我不确定如何将参数传递到 bash 脚本并使用 udev 规则捕获结果输出。

这是我尝试过的一些规则,

KERNEL=="sda", RUN+="/bin/bash /etc/udev/myScript '%E{KERNEL}'", NAME="%c"

KERNEL=="sda", IMPORT{program}="/bin/bash /etc/udev/myScript --export %k", NAME="%c"

KERNEL=="sda", IMPORT{program}="/bin/bash /etc/udev/myScript --import %k --export %c", NAME="%c"

我使用 echo 将字符串输出到标准输出。

最佳答案

设备属性可以通过设备属性传递给脚本(%k - 设备内核名称,%p - 设备的 devpath)。您可以引用 udev 的手册页来了解所有可用的设备属性。

shell 脚本的 std 输出可通过“%c”提供给 udev 规则。。

这个规则怎么样:

KERNEL=="sda", RUN+="/bin/bash /etc/udev/myScript %k", NAME="%c"

关于linux - 使用 udev 规则操作内核设备名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21340141/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com