繁体   English   中英

在JS模板字符串中转义$ {}的正确方法

[英]Proper way to escape ${} in a JS template string

我正在创建一个bash命令:

const k = cp.spawn('bash');

k.stdin.end(`
  alias ssh='ssh "${SSH_ARGS[@]}"'
`);

但是当然,我必须逃避它。 我认为逃脱它的最佳方法是使用:

 `alias ssh='ssh "\${SSH_ARGS[@]}"'`

谁能解释为什么行得通?

仅转义$的原因与普通花括号不会引发错误的原因相同-模板字符串中的表达式由${开头和}标识。 如果转义了美元符号,则不会将其解释为${关键字的一部分,并且将花括号解释为普通字符。

因为反斜杠\\是照常的转义字符,所以在模板字符串中也是如此。 它在${序列前面加上前缀,否则将被解释为定界符。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM