Bash
從 cmd.exe (WSL) 向 bash 傳遞命令不起作用
我在 Windows 10 機器上,啟用/配置了適用於 Linux 的 Windows 子系統(Ubuntu)。為了解釋我的問題,讓我向您介紹兩種情況:
場景一:
- 我開始
cmd.exe
提示- 我
bash
在cmd.exe
提示中執行- (內部
bash
)我執行一個給定的命令,dwiextract
在我的案例中呼叫(來自神經影像分析軟體包)工作正常,建議成功安裝軟體包。
場景二:
- 我開始
cmd.exe
提示- 我嘗試使用以下語法將完全相同的命令直接傳遞給
bash
from :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