13 说我必须使用引号来封装subshell输出,例如: DATA="$(cat file.hex | xxd -r)" 但是我需要嵌套这样的东西: DATA="$(cat file.hex | xxd -r | tr -d \"$(cat trim.txt)\")" 我不能使用单引号,因为它们不会展开其中的变量。转义引号不起作用,因为它们仅被视为被动文本。 我该如何处理? bash quoting command-substitution — 美拉 source 你为什么不使用DATA="$(cat file.hex | xxd -r | tr -d "$(cat trim.txt)")"? — cuonglm
19 您不需要在子外壳中转义引号,因为当前的外壳不解释它们(实际上,它不解释从$(到的任何内容)),并且子外壳也不知道上面的任何引号。 也不必在变量分配处引用子外壳,有关更多信息,请参见man bash。 — 米哈尔 source 1 这取决于您要尝试执行的操作,但这通常是最佳做法。见github.com/koalaman/shellcheck/wiki/Sc2086 — LPCRoy15年
8 您无需在其中转义嵌套的引号。他们得到正确解析,令人惊讶! DATA="$(cat file.hex | xxd -r | tr -d "$(cat trim.txt)")" — 威斯巴基 source
DATA="$(cat file.hex | xxd -r | tr -d "$(cat trim.txt)")"
?