C language, to check if an argument is a shell builtin command
我想写一个小壳。 如果输入参数是内置命令(如果是这样,我将分叉并执行它),我如何区分?
PS。 我正在研究Ubuntu 18.04 LTS。
好吧,如果你正在编写自己的shell,那么从技术上讲,它取决于你的实现是什么,而不是内置命令。
对于内置者
在bash,ksh等中,你可以使用compgen -b在相应的shell中生成内置列表。
-A action
...
builtin
Names of shell builtin commands. May also be specified as -b.
对于非内置者
对于non-builtins搜索路径,或参考FHS并搜索例如 / bin / sbin / usr / bin / usr / sbin。