ファイルに格納されている文字列を考えると、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"
パラメータが二重引用符で囲まれ、$tring
2番目のパラメータの一部を消費する方法を確認してください。これは私が解決しなければならない問題です。、これは送信された最終パラメータindex.js
ですmy
。