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

Map non-existent commands in Ubuntu to existing commands

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

就我个人而言,我会避免任何此类魔术,因为当我的命令对其他人或在不同的上下文中不起作用时,这听起来会引起混淆:

alias cmd="cmd.exe"

但是您可以通过创建一个 command_not_found_handle 来自动查找 .exe 文件来轻松地做您想做的事情:

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