我有一个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将我的字符串输出到标准输出。
答案 0 :(得分:0)
设备属性可以通过设备属性传递给脚本(%k - 设备内核名称,%p - 设备的devpath)。您可以参考udev的手册页面了解所有可用的设备属性。
shell脚本的std输出通过“%c”提供给udev规则。 。
这个规则怎么样:
KERNEL=="sda", RUN+="/bin/bash /etc/udev/myScript %k", NAME="%c"
答案 1 :(得分:0)
无法更改设备节点的名称。只能创建额外的符号链接。
如果给 import slate3k as slate
with open(file.pdf, 'rb') as f:
extracted_text = slate.PDF(f)
print(extracted_text)
键赋值,则只能更改网络接口的名称。