在规则文件中,通过传递参数“LABEL”和“DEVNAME”来执行脚本以进行安装
ACTION=="add", RUN+="/appmount/scripts/usb_mount.sh %E{ID_FS_LABEL} %E{DEVNAME}"
在 usb_mount.sh 文件中将参数值打印为
echo "LABEL: $1 DEVNAME: $2" # this does not work reliably
某些设备的 LABEL 字段为空,因此 DEVNAME 被打印为标签。在 bash 脚本中,我们可以在双引号中传递参数,即使参数为空,它也会起作用。
将 args 传递给 udev 规则相当于什么?
此问题的解决方法可能是切换参数的顺序。有什么靠谱的办法吗?
你应该能够使用单引号而不是您提到的双引号:
ACTION=="add", RUN+="/appmount/scripts/usb_mount.sh '%E{ID_FS_LABEL}' '%E{DEVNAME}'"
注意:我没有测试过这个。也许单引号内的变量替换会失败......
引用自man udev
关于“RUN”键:
程序名称和后面的参数用空格分隔。
单引号可用于指定带空格的参数。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)