[英]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.