簡體   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