web-dev-qa-db-ja.com

cmd.exe(WSL)からbashにコマンドを渡しても機能しない

Linux対応のWindowsサブシステムが有効/構成されているWindows 10マシンを使用しています(Ubuntu)。私の問題を説明するために、2つのシナリオを紹介します。

シナリオ1:

  1. cmd.exeプロンプトを開始します
  2. cmd.exeプロンプトでbashを実行します
  3. bashの内側)私の場合、dwiextractと呼ばれる特定のコマンドを実行します(ニューロイメージング分析ソフトウェアパッケージから)

ソフトウェアパッケージの正常なインストールを示唆して正常に動作します。

シナリオ2:

  1. cmd.exeプロンプトを開始します
  2. 次の構文を使用して、まったく同じコマンドをcmd.exeからbashに直接渡そうとします:bash -c dwiextract

command not foundを取得します。

(私はbash -cここ について学び、それを他の機会でうまく使用したことに注意してください。)

次の画像は、私がやったことを正確に示しています。

example_diagram

私の質問:これら2つのシナリオは同等ではないはずです。シナリオ1が機能し、シナリオ2が機能しないのはなぜですか?

どうもありがとう。

6
fnery

-iオプションを使用して)bashをインタラクティブシェルとして実行すると、問題が解決しました。

つまり、bash -c -i <command>です。

7
fnery