Linux命令替换$(cat ...)混乱

时间:2017-05-22 15:44:22

标签: linux bash npm

我正在配置NPM以使用TLS(这是无关的)。我对BASH中命令替换的工作方式有些困惑。

我发出以下命令 npm config set cert "$(cat public.pem)"

此命令按预期将我的.npmrc中的cert字段设置为public.pem的内容

接下来我发出命令 npm config set key "$(cat private.pem)"

此命令以静默方式失败,并将.npmrc中的键字段设置为空。

私钥文件似乎以标准-----BEGIN RSA PRIVATE KEY-----开头,我的公钥以Bag Attributes开头。似乎以破折号开头的文件搞乱了我的命令替换。

思想?

2 个答案:

答案 0 :(得分:4)

cat在哪里进入失败的命令?

npm config set key "$(cat private.pem)"

请注意,您也可以使用

$(< private.pem)

应该比调用cat快一点。

答案 1 :(得分:0)

经过一番研究后,这不是命令替换的问题。 npm config set....似乎忽略以破折号开头的输入。

npm config set key ----失败而npm config set key 1234无效