簡體   English   中英

Linux命令替換$(cat…)混亂

[英]Linux command substitution $(cat …) confusion

我正在將NPM配置為使用TLS(這是無關的)。 我對BASH中的命令替換如何工作有些困惑。

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

此命令按預期工作,將我的.npmrc中的cert字段設置為public.pem的內容

接下來,我發出命令npm config set key "$(cat private.pem)"

該命令無提示失敗,並將.npmrc中的key字段設置為空。

似乎私鑰文件以標准-----BEGIN RSA PRIVATE KEY-----開頭,而我的公鑰以Bag Attributes開頭。 似乎以破折號開頭的文件弄亂了我的命令替換。

思考?

cat在失敗的命令中去了哪里?

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

請注意,您也可以使用

$(< private.pem)

這應該比打電話給cat快一點。

經過更多研究后,這對於命令替換不是問題。 npm config set....似乎忽略了以破折號開頭的輸入。

npm config set key ----失敗,而npm config set key 1234有效

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM