为什么找不到命令后延迟很长时间?

cal*_*bds 26 command-line bash fedora command-not-found

通常,当我错误输入诸如 ls 之类的命令时(例如,我在输入 's' 之前按了 ENTER)时,终端显示后会有很长(~2s)的延迟:

bash: l: command not found...
Run Code Online (Sandbox Code Playgroud)

我可以理解输入错误密码后出现类似延迟的原因,为什么输入错误密码后会有很大的延迟?. 但是为什么在一个无法识别的命令之后延迟呢?是否FAIL_DELAY/etc/login.defs也影响呢?

Han*_* N. 23

经过一些研究,我发现了这一点

  • 尝试卸载 command-not-found 软件包,$>yum remove command-not-found然后再次安装>$yum install command-not-found(以防万一您的系统上安装了该软件包)。

如果这没有帮助,请尝试:

  • 将此添加到您的~/.bashrc文件中:

    unset command_not_found_handle

  • 第二个建议消除了延迟。我没有安装 command-not-found 包。谢谢! (2认同)
  • 我质疑那些认为默认启用此功能是个好主意的人的判断 (2认同)

小智 22

我发现最好的解决方案,至少在 Fedora 上,是修改配置文件
/etc/PackageKit/CommandNotFound.conf

作为最大的延迟来自于搜索要安装的软件包,如果你修改 SoftwareSourceSearch=trueSoftwareSourceSearch=false

延迟几乎为 0,您仍然会收到有关拼写错误的警告,这很有用。