如何在myshell中实现命令自动完成?

时间:2013-08-29 13:07:14

标签: shell readline

我在C中创建自己的shell。我知道可以使用readline库来使用TAB自动完成路径,但它只能用于自动完成路径而不能用于命令。

例如,如果我写 clea 并按TAB键,它不会使清除,也不会在按TAB两次时给出任何类似命令的建议。怎么做?

1 个答案:

答案 0 :(得分:0)

您的shell还需要实现一个PATH变量,该变量是一个用于搜索非内置命令的目录列表。例如,如果PATH的值为/usr/bin:/bin,则如果cleclear存在,则您的完成功能将完成/usr/bin/clear/bin/clear