将参数从 udev 规则文件传递给 shell 脚本

2024-01-25

在规则文件中,通过传递参数“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(使用前将#替换为@)

将参数从 udev 规则文件传递给 shell 脚本 的相关文章

  • 在多个文件中进行查找/替换的最佳方法?

    最好的方法是什么 我不是命令行战士 但我想可能有一种使用方法grep and cat 我只想替换文件夹和子文件夹中出现的字符串 最好的方法是什么 如果这很重要的话 我正在运行 ubuntu 我将为使用的人提供另一个例子ag 银色搜索者 ht
  • 如何根据R中的条件创建新变量

    我正在尝试根据某些条件创建一个新变量 我的数据看起来像 a b 1 NA 2 3 3 3 NA 2 NA NA 我想要的是一个变量c这样 when a is not NA b is NA c a when a is NA b is not
  • cygwin中刷新windows用户的环境变量

    我想在执行 setx VARNAME VARVALUE 特别是路径 后刷新 cygwins 环境 export VARNAME VARVALLUE 不是一个选项 因为如果导出的值是路径 类似于 UNIX 格式 我需要转换导出的值 但 VAR
  • “bash -c 命令参数”末尾的参数的目的是什么?

    From man bash If the c option is present then commands are read from the first non option argument command string If the
  • Devops YAML - 使用表达式设置构建名称

    在 yaml 构建中 是否可以使用表达式设置构建名称 如果我可以将发布管道与实际构建 ID 相匹配 那将是有利的 Example trigger master variables major 2 minor 3 offset 2000 bi
  • 访问具有动态名称的变量的值

    我发现了几个主题 其中讨论了在循环中动态创建单个变量是不好的做法 最好使用字典 就我而言 我不需要动态创建它们 我想要access他们在循环中 我不想用字典对于他们来说 因为这些变量在代码中的很多地方使用 并且只有一个地方我需要这种动态访问
  • sed 替换为多行变量[重复]

    这个问题在这里已经有答案了 我正在尝试用跨多行的文本替换单词 我知道我可以简单地使用换行符 n 来解决这个问题 但我想保持字符串 干净 不包含任何不需要的格式 下面的例子显然是行不通的 read r d TEST lt
  • 在Java中执行.lnk文件

    我需要在java中执行 lnk文件 指向exe文件的lnk文件 我能怎么做 在 VB net 中我做 Process Start path 它有效 谢谢你的帮助 Use a 流程构建器 http download oracle com ja
  • 如何使用 git hook pre-merge-commit 获取原始合并分支名称

    我正在尝试使用新的 git hook pre merge commit 创建一个特定的脚本 但它没有参数 有什么解决方法可以让我获得正在合并的分支的名称吗 例子 在分支 myBranch 上 我调用 git merge testingBra
  • 未加载测试环境的节点 dotenv 文件

    我有两个 dotenv 文件 一个用于开发 另一个用于测试 const dotenv require dotenv if process env process env NODE ENV dotenv config path env pro
  • C-为什么char c=129会转换成-127?

    如果我们分配 128到 char 变量 然后将其转换为 128因为二进制等价 10000000 first bit tells sign 二进制等价于129 is 10000001 它将转换成什么值 字符c 129 谢谢 S 实际上有几种可
  • unix 下日期字段排序

    我有包含数十万条记录的文本文件 其中一个字段是日期字段 有没有办法根据日期字段对文件进行排序 09 APR 12 04 08 43 632279000 AM 19 MAR 12 03 53 38 189606000 PM 19 MAR 12
  • Bash 中所有匹配的^单词^替换^?

    为了澄清 我正在寻找一种方法来执行global搜索并替换先前使用的命令 word replacement 似乎只替换了第一场比赛 有没有一些set我无法选择的选项 尝试这个 echo oneone oneone gs one two Rep
  • 将 JSON 导出到环境变量

    如果我有这样的 JSON hello1 world1 testk testv 我想将每个键值对导出为环境变量 如何通过 shell 脚本来做到这一点 例如 当我在终端上写时 echo hello1 world1应该打印其他键值对吗 注意 上
  • 在 bash 中添加(收集)退出代码

    我需要依赖于脚本中的几个单独的执行 并且不想将它们全部捆绑在一个丑陋的 if 语句中 我想使用退出代码 每次执行并添加它 最后 如果这个值超过阈值 我想执行一个命令 伪代码 ALLOWEDERROR 5 run something RESU
  • VBA 有没有办法了解未使用的变量?

    标准 VBA 编辑器中是否有工具 方法或设置来警告已被修改的变量Dim med 但没有被使用 MZ Tools http www mztools com index aspx将搜索您的代码并告诉您哪些内容未被使用 VBA的版本可以找到her
  • GNU 屏幕:环境变量

    更新 问题与问题相关GNU Screen 程序员在 Readbuf 中引用的内容 https stackoverflow com questions 1318186 gnu screen programmer quotes in readb
  • 使用 CreateProcessAsUser 和 CreateEnvironmentBlock 创建进程后未设置 Clientname

    我编写了一个在本地系统帐户下运行的 C 服务 当用户登录终端服务器时 我用它来生成一个进程 该服务实现了OnSessionChange方法并接收SessionChangeDescription具有相应SessionID的消息 我使用此 Se
  • 如何从 LaTeX 执行 shell 脚本?

    我正在尝试在 LaTeX 中执行以下操作 documentclass article begin document execute usr local bin my shell script sh end document 想法是执行 us
  • 将表数据从一个 SQL Server 导出到另一台 SQL Server

    我有两个 SQL Server 都是 2005 版本 我想将多个表从一个表迁移到另一个表 我努力了 在源服务器上 我右键单击数据库 选择Tasks Generate scripts 问题是在下面Table View options没有Scr

随机推荐

  • 如何使用 GNU Parallel 编写多核排序

    GNU 并行 http www gnu org software parallel GNU并行是一个shell工具 用于使用一台或多台计算机并行执行作业 例如 如果我想编写一个多核版本wc我可以做 cat XXX parallel bloc
  • 如何使用 awk 每 n 行插入一个空行?

    我有一个像这样的输入文件 line 1 line 2 line 3 line 4 line 5 line 6 我想使用 awk 每隔几行插入一个空行 例如 每两个 line 1 line 2 line 3 line 4 line 5 lin
  • Mac 上的 Mercurial“未提供用户名”错误

    我刚刚在 OSX Mountain Lion Max 10 8 上安装了 Mercurial 在第一次提交时出现错误 abort no username supplied see hg help config 我看到了很多答案 这些答案表明
  • make找不到tools.jar

    运行Ubuntu 12 04 我已经添加到路径 home jeffrey jdk1 6 0 43 lib 我正在尝试使用 Make 从源代码构建 make j16 但遇到错误 build core config mk 268 Error c
  • 来自 pandas Dataframe 的具有不确定性的 LaTeX 表

    我目前正在编写一份报告 其中包含用 python 计算并存储在 pandas DataFrame 中的许多值和不确定性 这些值必须放入报告中 包括错误 目前我唯一的方法是手动将值与错误合并 其中一个示例如下所示 begin tabular
  • 如何MVC 5下拉(多选)框

    我在使用这个下拉框时遇到了问题 似乎无法正确处理 代码如下 查看 Index cshtml using EvaSimulator Models Model EvaSimulator Models ModelVariables ViewBag
  • 当有更多可用机器时,Spark 仅使用一台工作机器

    我正在尝试通过 Spark 并行化机器学习预测任务 我之前已经在其他任务中成功使用过 Spark 多次 并且之前没有遇到过并行化问题 在这个特定任务中 我的集群有 4 个工作线程 我在具有 4 个分区的 RDD 上调用 mapPartiti
  • 使用 silverlight 的 Wcf 服务的最佳实践?

    您将如何构建在 silverlight 应用程序中调用 wcf 服务的代码 仅使用一次实例化的 wcf 服务代理 又名单例 并在整个 SL 应用程序中使用它 如果是这样 您如何解决 ws call completed 事件取消订阅控件的问题
  • 计算卷积的最快方法

    有人知道计算卷积最快的方法吗 不幸的是 我处理的矩阵非常大 500x500x200 如果我使用convn在 MATLAB 中 这需要很长时间 我必须在嵌套循环中迭代此计算 所以 我使用了 FFT 卷积 现在速度更快了 但是 我仍在寻找更快的
  • 如何在jmeter中设置IP欺骗?

    我现在正在我的机器上通过 jmeter 对网站进行负载测试 但我想要一个真实的场景 那么 jmeter 是否可以使用 ip 别名或 ip 欺骗 这看起来像是从不同的 ip 地址发送请求 是的 可以 查看属性源IP地址 http jmeter
  • SQL 空值内连接

    我有一个加入 SELECT FROM Y INNER JOIN X ON ISNULL X QID 0 ISNULL y QID 0 Isnull像这样的 Join 会使速度变慢 这就像有一个条件连接 对于这样的事情有什么解决办法吗 我有很
  • 没有全局变量的Python动画

    我正在编写康威生命游戏的实现 我的第一次尝试只是在每次更新后使用 matplotlib 的 imshow 在 1 和 0 的 NxN 板上绘制板图 然而 这不起作用 因为程序在显示情节时就会暂停 您必须关闭绘图才能获得下一个循环迭代 我发现
  • 随机选择一个区域并对其进行多次处理

    我有一个这样的数据 gt sp Q96A73 P33MX HUMAN Putative monooxygenase p33MONOX OS Homo sapiens OX 9606 GN KIAA1191 PE 1 SV 1 RNDDDDT
  • 通过在同一日期或最近的先前日期(不仅仅是完全匹配)加入来合并两个表

    我有两张表 客户ID 潜在客户日期 潜在客户来源 and 客户ID 产品 兴趣 日期 产品 兴趣 我希望两个创建一个表 其中对于每个 CustomerID 每个 Product Interest 连接到最接近日期 但不是之后 的 Lead
  • CakePHP“尝试获取非对象的属性”错误

    当我发布表单时 它显示错误 Trying to get property of non object APP Controller UsersController php line 647 这里是ctp文件表单代码 admin highli
  • 模块中的全局变量范围

    以下是我的文件和输出 我想做的就是获得价值x after func1 as 20 我已经参考过这个答案 https stackoverflow com questions 15595393 python global variable sc
  • 如何解释elf符号表部分的st_info字段

    The man page http manpages ubuntu com manpages xenial man5 elf 5 html有这样说 st info This member specifies the symbol s typ
  • 数组应该被视为水平结构还是垂直结构

    我正在做一些 Matlab 作业 在概念化它处理矩阵的方式时遇到问题 在 Matlab 中 矩阵的地址为d row col format 我已经编程了一段时间 并且总是倾向于将一维数组视为水平结构 其中第二维从下方延伸 从计算机的角度来看
  • Laravel-mix Webpack 公共路径

    所以我使用 Laravel Mix 并在 Webpack 中设置了代码分割 我正在为我的 Vue 组件使用动态导入 如下所示 Vue component UserMenu gt import components UserMenu vue
  • 将参数从 udev 规则文件传递给 shell 脚本

    在规则文件中 通过传递参数 LABEL 和 DEVNAME 来执行脚本以进行安装 ACTION add RUN appmount scripts usb mount sh E ID FS LABEL E DEVNAME 在 usb moun