shell 可以在“找不到命令”之后运行特定命令吗

liv*_*ang 2 bash shell zsh

我想在运行一些找不到的命令后自动执行预先设置的命令。有什么解决办法吗?

让我澄清我的问题。设置一个命令,当我在shell中输入某个命令并得到“命令未找到”结果时,该命令将自动执行。

roo*_*ols 5

对于 zsh,使用函数command_not_found_handler

command_not_found_handler () {
  echo Oups
}
Run Code Online (Sandbox Code Playgroud)

对于 bash,使用函数command_not_found_handle

command_not_found_handle () {
  echo Oups
}
Run Code Online (Sandbox Code Playgroud)

使用这种机制,Archlinux 有一个工具可以为您提供包含缺少的命令的软件包。该工具称为command_not_found ,可在 AUR 和Github上找到。其他发行版也存在类似的应用程序。