【发布时间】:2015-12-22 14:19:08
【问题描述】:
我正在尝试为包含参数的 xmlstarlet 命令创建一个变量:
WARNING=$(xmlstarlet ed --inplace -u "'"/programs/program/log/@level"'" -v 4 ${FILE})
不幸的是,没有双引号或单引号,即使 xmlstarlet 也不接受/看到该元素。
欢迎在命令中包含引号作为输出的任何帮助:)
谢谢。 阿尔。
【问题讨论】:
-
您是否尝试过使用转义字符?说
\'/programs/program/log/@level\' -
++ xmlstarlet ed --inplace -u /programs/program/log/@level -v 4 ./file.xml + BMWARNING= + '[' -z --info ']' +案例 ${1} 在
-
嗯?您根本不应该在其中添加字面引用。这不是正确的 XMLStarlet 用法。
-
也就是说,
ed --inplace不会在 stdout 上打印任何内容,它只是在原地编辑文件,那么您为什么希望它将任何内容放入WARNING变量中呢? -
因为我正在尝试将基于参数的 xml 更新为 bash。
标签: bash arguments quotes xmlstarlet