Bash

從 cmd.exe (WSL) 向 bash 傳遞命令不起作用

  • January 25, 2022

我在 Windows 10 機器上,啟用/配置了適用於 Linux 的 Windows 子系統(Ubuntu)。為了解釋我的問題,讓我向您介紹兩種情況:

場景一:

  1. 我開始cmd.exe提示
  2. bashcmd.exe提示中執行
  3. (內部bash)我執行一個給定的命令,dwiextract在我的案例中呼叫(來自神經影像分析軟體包)

工作正常,建議成功安裝軟體包。

場景二:

  1. 我開始cmd.exe提示
  2. 我嘗試使用以下語法將完全相同的命令直接傳遞給bashfrom :cmd.exe``bash -c dwiextract

我明白了command not found

bash -c (注意我在這裡了解到並在其他場合成功使用過。)

下圖準確地顯示了我所做的:

範例圖表

**我的問題:**這兩種情況不應該是等價的。為什麼場景 1 有效而場景 2 無效?

非常感謝。

將 bash 作為互動式 shell 執行(使用-i選項)解決了我的問題。

即:bash -c -i <command>

除此之外... bash -c -i "..."對我來說效果很好

wsl -d Debian -u myname -e dwiextract

也有參數

wsl -d Debian -u myname -e uname -a

引用自:https://unix.stackexchange.com/questions/439151