什么提供自动完成功能? Shell 还是模拟器?

什么提供自动完成功能? Shell 还是模拟器?

我已经使用 Linux 一段时间了。现在,我对终端窗口中命令和目录的自动完成功能存有疑问。

当我按下某个tab键时,终端会自动完成或给出选择。这是 shell 提供的自动完成功能还是模拟器的功能。

此外,如果它由终端提供,终端如何如此透明地提供它。

答案1

shell 提供自动完成功能。它不是单独的脚本,而是内置于 shell 本身中 —— 用于标准文件完成。

参数自动完成功能基于 内置的可编程完成功能bash。请参阅“可编程完成“bash 手册页的部分。

一些 Linux 发行版提供了bash_completion包。这是利用 bash 中的可编程完成命令的配置选项的集合。

答案2

shell 提供了这个。终端仿真器绘制 shell 生成的内容并将用户输入交给 shell。

答案3

自动补全由 shell 提供。
按下 Tab 键时,shell 会运行一个脚本,根据您已输入的内容决定需要补全的内容。然后,该脚本会生成一个可能的补全列表,这些列表可能是当前目录中的文件列表,也可能不是 $PATH 中的可执行文件列表。

相关内容