デュアルダッシュがnpmでより多くのコマンドオプションを受け入れるのはなぜですか?

デュアルダッシュがnpmでより多くのコマンドオプションを受け入れるのはなぜですか?

次のコマンドが見つかりました。

npm run script ./src/automation/automation_main.ts -- -i payroll_integration

私は二重ダッシュを検索しましたが、次の答えによると、コマンドオプションの終わりを示すようです。 https://unix.stackexchange.com/a/11382/47958

私が理解していないのは、二重ダッシュ(-i)の後にコマンドオプションがある理由です。二重ダッシュ後もコマンドオプションを含めることはできますか?

ダブルダッシュを使用したり使用したりせずに上記のスクリプトを実行しましたが、どちらも機能しているようです。

ベストアンサー1

例のコマンドで発生することは、2つのプログラムが呼び出され、両方ともコマンドライン引数を取ることです。あなたは呼び出しており、npm呼び出しスクリプトのパラメータをnpm尊重します。すべてのパラメータは引用符で囲まれていません(おそらくこの種のnpmコマンドには必要です)。run scriptautomation_main.ts

このパラメータは、-i payroll_integration明らかにnpm以外のスクリプトにのみ適用されます。 npmが解析を試みないようにどのように説得しますか(エラーが発生する可能性があります)?

答え:行の残りの単語がnpmのパラメータではないことをnpmに知らせるパラメータを挿入してください。これは--「これがあなたの主張の終わりです。残りは心配しないでください」を意味します。 Npmはまでの引数を削除し、--スクリプトを呼び出し、スクリプトが解析して使用する残りの行を表示します。

他の多くのGNUユーティリティと同様に、この主張を理解していますが、bash一部のプログラムはそれを理解していないため、ここで説明する作業を実行しません。npm--npm

おすすめ記事