String.raw
似乎是编写嵌入式命令的正确方法,如
const command = String.raw`sed -n 's/${hash} \(.*\)/\1/p'
但它没有用,因为\1
无法用String.raw编写,问题如下所示:
console.log(String.raw`\1`)
=>SyntaxError: Octal literals are not allowed in template strings.
console.log(String.raw`\\1`)
\\1
答案 0 :(得分:1)
我能看到的唯一方法就是
let x = '\\1'
const command = String.raw`sed -n 's/${hash} \(.*\)/${x}/p'`
@HBP几乎在评论中做出了正确的调用
const command = String.raw`sed -n 's/${hash} \(.*\)/${'\\1'}/p'`
看起来是理想的