2016-10-30 13 views
2

bashでrollup.jsに変数を渡そうとしています。 これはbashの問題か、rollup.jsの問題か分かりません。なぜなら、私はbashの経験がないからです。しかし、おそらく誰かが私をここに助けることができる...ここbash変数をrollup.jsに渡す

は私の端末入力です:

MY_INPUT="/path to my/input.js" 
MY_OUTPUT="/path to my/output.js" 
rollup --input $MY_INPUT --output $MY_OUTPUT 

ロールアップでエラーが発生します:

rollup can only bundle one file at a time

私はパス内の空白文字に問題を突き止め。しかし

、これらの作業の両方:私は変数を使用する場合

rollup --input "/path to my/input.js" --output "/path to my/output.js" 
rollup --input /path\ to\ my/input.js --output /path\ to\ my/output.js 

問題が、発生します。 また、変数を括弧で囲むのではなくエスケープしようとしましたが、それもうまくいきませんでした。

変数を私が望むように動作させる方法はありますか?それは問題ですか?rollup.jsは対処しなければなりませんか、それとも空白を含むパスを引数として使用することはできません。変数?

+1

bash set + xオプションを有効にすると、これをデバッグするためにbashのログ記録を有効にすることができます。 –

答えて

4

あなたがrollupに渡すなどの変数を引用する必要があります。

rollup --input "$MY_INPUT" --ouput "$MY_OUTPUT" 

これらの変数にスペースが含まれるため、それはシェルが複数の引数として解釈する、です。二重引用符を使用すると、その値は単一の文字列として解釈されます。

Bashスクリプトをhttp://www.shellcheck.net/#にコピー&ペーストすると、このような問題が発生することがあります。

+0

ありがとうございました。しかし、もう一度試してみてください!期限が切れるとすぐに私はそれを受け入れます。 :) – Afterlame

+0

シェルチェックへのリンクを指摘してくれたことに特別な感謝をしましたが、それについては分かりませんでした。 – Afterlame

関連する問題