我在C中创建自己的shell。我知道可以使用readline
库来使用TAB自动完成路径,但它只能用于自动完成路径而不能用于命令。
例如,如果我写 clea 并按TAB键,它不会使清除,也不会在按TAB两次时给出任何类似命令的建议。怎么做?
答案 0 :(得分:0)
您的shell还需要实现一个PATH
变量,该变量是一个用于搜索非内置命令的目录列表。例如,如果PATH
的值为/usr/bin:/bin
,则如果cle
或clear
存在,则您的完成功能将完成/usr/bin/clear
到/bin/clear
。