タイトルからほとんどの質問がわかるように、最後に明示的なサフィックスを指定せずに.exe
Windowsの実行可能ファイルをどのように実行できますか?
explorer.exe .
たとえば、、、、、explorer .
またはnotepad.exe file
で、および他の呼び出しを減らします。notepad file
docker.exe ps
docker ps
これを行う基本的な方法があるか、command not found
コマンド名に利用可能なLinuxプログラムがない場合は、エラーを処理して実行可能ファイルにリダイレクトする方法があるかどうか疑問に思います。.exe
$Path
編集する:
以前は環境を追加するのを忘れていました。ここにあります:
- ターミナル:Windowsターミナル
- Linux:WSLのUbuntu 20.04(Linux用Windowsサブシステム)
- シェル:zsh
- オペレーティングシステム:Windows 10 1909
ベストアンサー1
設定できますcommand_not_found_handler
。テストされていません:
function command_not_found_handler {
for ext in ${(s:;:)${PATHEXT-".com;.exe;.bat;.cmd;.vbs;.vbe;.js;.jse;.wsf;.wsh;.msc"}}; do
if (( $+commands[$1$ext] )); then
exec -- "$1$ext" "${@:2}"
fi
done
print -ru2 "command not found: $1"
return 127
}
これはfoo.exe
(または他の拡張機能など.bat
)機能しますがfoo
。foo.exe
zshでは機能しませんが、foo
cmdでは機能し、名前付きプログラムを呼び出す場合は、foo.exe
他の問題があります。