Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在用 C 语言制作自己的 shell。我知道可以使用该readline库来使用 TAB 自动完成路径,但它只能用于路径的自动完成,但不能用于命令的自动完成。
readline
例如,如果我写clea并按 TAB 键,它并没有使它清晰,也没有为按 TAB 两次的任何类似命令提供建议。怎么做?
您的 shell 还需要实现一个PATH变量,该变量是用于搜索非内置命令的目录列表。例如,如果PATH具有 value /usr/bin:/bin,那么您的完成功能将完成cle到clearif/usr/bin/clear或/bin/clear存在。
PATH
/usr/bin:/bin
cle
clear
/usr/bin/clear
/bin/clear