【发布时间】:2016-11-15 10:34:18
【问题描述】:
如果我在 shell 中运行 echo "$(echo 'A\nB')",我会得到以下输出:
A\nB
但是,如果我将相同的代码放在 NPM 脚本中:
"scripts": {
"example": "echo \"$(echo 'A\nB')\""
}
然后运行该脚本:npm run -s example。
我得到一个将\n 替换为实际新行的输出:
A
B
如何禁用对字符串的这种解释?为什么 NPM 对待命令扩展的方式与 shell 不同?
这仅在命令扩展时发生:$(some command here)
【问题讨论】:
-
它似乎确实以不同于 shell 的方式处理命令扩展。因为在 shell 中支持
echo的开关在使用上述内容时会被打印出来。