私たちのプロジェクトには、いくつかのルーティングパスがあります。
"start": "set NODE_ENV=local&&node_modules\\.bin\\webpack --config webpack.dev.config.js"
Linuxでこれに対応するものは何ですか?私たちはDebianを使用しており、この選択肢を使用する際に問題があります。
"start": "set NODE_ENV=local&&node_modules//.bin//webpack --config webpack.dev.config.js"
または:
"start": "set NODE_ENV=local&&node_modules/.bin/webpack --config webpack.dev.config.js"
答え1
これは、すでに調整されているLinuxまたはパス区切り文字とは何の関係もありません。
NODE_ENV=ローカルに設定
これはPOSIXシェルで環境変数を設定する方法ではありません。
&&
これは、POSIXシェルで乱数環境変数設定を使用してコマンドを実行する方法ではありません。
変数の設定方法など、POSIXシェルスクリプトの基本を学ぶ必要があります。
似たようなことを見たいのですが、Windowsがcross-env
POSIXシェルと同じように動作するようにするため、人々がすでにPOSIXシェルスクリプトを知っているとします。
クロス環境 NODE_ENV=ローカル node_modules/.bin/webpack …
これを行う前に、まずPOSIXシェルスクリプトを学ぶ必要があります。
NODE_ENV=ローカル node_modules/.bin/webpack…
これはLinux(オペレーティングシステムカーネル)やDebianに限定されていません。
答え2
主な質問に答えるには:
バックスラッシュはエスケープ文字なので、文字列に入れるには別のバックスラッシュを使用してエスケープする必要があります。したがって、二重バックスラッシュは1つのバックスラッシュを意味します。
Linuxでは、パスを区切るためにスラッシュを使用するため、倍増する必要はありません。
したがって、パスをWindows形式からLinux形式に変換するには、二重バックスラッシュをスラッシュに置き換えます。
ただし、コマンドの残りの部分では、コマンドの場所や用途などの追加情報を提供する必要があります。
答え3
Linuxでは、Windowsの二重<バックスラッシュ>に対応する記号は「//」です。
セクション4.13基本定義ボリュームのパス名の確認は次のとおりです。
...パス名が2つの連続した文字で始まる場合、先行文字の後の最初のコンポーネントは実装で定義された方法で解釈できますが、2つ以上の先行文字は単一文字として扱われます。 ...
したがって、一部のシステムではホスト名として解釈されることがあります。
ただし、これはパス文字列の最初のコンポーネントにのみ適用されます。単一の「/」と同じ残りの文字列については、設定ファイルのドキュメントを確認してください。