【发布时间】:2015-08-25 17:43:18
【问题描述】:
我的 bash 脚本构建了一个字符串变量$arrayLMEs,其中包含如下字符串:
var availableTags=[ "01 East Bering Sea", "02 Gulf of Alaska"];
我需要将此字符串放入 javascript 代码中,以替换占位符。 我正在考虑使用类似的东西:
perl -i -pe 's/PLACEHOLDER/'"${arrayLMEs}"'/' filename
但实际上该命令会抱怨,因为在字符串中发现了双引号,这会弄乱 bash 命令,从而弄乱 perl 命令。
如何修复命令以保留空格和双引号?
【问题讨论】:
-
在 Linux 上运行 bash 时没有发现任何问题:arrayLMEs='var availableTags=[ "01 East Bering Sea", "02 Gulf of Alaska"];';回声--PLACEHOLDER-- | perl -pe 's/PLACEHOLDER/'"${arrayLMEs}"'/' -
-
我必须说我的字符串是生成的。所以我猜想当从一个命令传递到另一个命令时,引号碰巧被去掉了。