
次のコマンドが見つかりました。
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 script
automation_main.ts
このパラメータは、-i payroll_integration
明らかにnpm以外のスクリプトにのみ適用されます。 npmが解析を試みないようにどのように説得しますか(エラーが発生する可能性があります)?
答え:行の残りの単語がnpmのパラメータではないことをnpmに知らせるパラメータを挿入してください。これは--
「これがあなたの主張の終わりです。残りは心配しないでください」を意味します。 Npmはまでの引数を削除し、--
スクリプトを呼び出し、スクリプトが解析して使用する残りの行を表示します。
他の多くのGNUユーティリティと同様に、この主張を理解していますが、bash
一部のプログラムはそれを理解していないため、ここで説明する作業を実行しません。npm
--
npm