Linux 将Ubuntu中不存在的命令映射到现有命令

Linux 将Ubuntu中不存在的命令映射到现有命令,linux,ubuntu,windows-subsystem-for-linux,Linux,Ubuntu,Windows Subsystem For Linux,我使用Windows Subsystem for Linux作为VSCode中的主终端。我总是在需要时使用命令“cmd.exe”切换到命令提示符,但我经常忘记添加“.exe”而只是键入“cmd”。有没有办法将“cmd”映射到“cmd.exe”,这样即使我没有输入完整的内容,它也会执行?我个人会避免任何这样的魔法,因为当我的命令不适用于其他人或在不同的上下文中时,它听起来会引起混乱: alias cmd="cmd.exe" 但是,通过创建命令\u not\u found\u

我使用Windows Subsystem for Linux作为VSCode中的主终端。我总是在需要时使用命令“cmd.exe”切换到命令提示符,但我经常忘记添加“.exe”而只是键入“cmd”。有没有办法将“cmd”映射到“cmd.exe”,这样即使我没有输入完整的内容,它也会执行?

我个人会避免任何这样的魔法,因为当我的命令不适用于其他人或在不同的上下文中时,它听起来会引起混乱:

alias cmd="cmd.exe"
但是,通过创建
命令\u not\u found\u handle
来自动查找
.exe
文件,您可以轻松地执行所需操作:

command_not_found_handle() {
  if type "$1.exe" > /dev/null 2>&1
  then
    "$1.exe" "${@:2}"
  else
    echo "$1 and $1.exe not found" >&2
    return 127
  fi
}