ドル記号をそのまま維持しながら、ファイルから文字列を読み取り、コマンドに渡します。

ドル記号をそのまま維持しながら、ファイルから文字列を読み取り、コマンドに渡します。

ファイルに格納されている文字列を考えると、NPMを介してその文字列を読み取り、それをNodeスクリプトに渡す必要があります。ただし、ファイル内の文字列には、およびが$含まれており、コマンドに渡される前に変数として解釈され置き換えられます。

注:文字列がファイルに保存される理由は、履歴ファイルには表示しないでください。

# store and then read the variable
echo 'my$tring' > x
export X=`cat x`

./do-it -x $X

./do-it良い:

echo $@
npm start -- $@

スクリプトは次startのとおりですpackage.json

node ./dist/index.js

「my$string」をファイルに保存しxて内容を出力すると次のようになります。

./do-it -x $X

-x my$tring                              # Result of echo $@ shows includes the $ -- good

> start                                  # Node script "start"
> node ./dist/index.js "-x" "my$tring"   # Command being executed by NPM (bad)

my                                       # Result of console.log() with the 2nd arg

上記で、node ./dist/index.js "-x" "my$tring"パラメータが二重引用符で囲まれ、$tring2番目のパラメータの一部を消費する方法を確認してください。これは私が解決しなければならない問題です。、これは送信された最終パラメータindex.jsですmy

ベストアンサー1

おすすめ記事