在shell中实现通配符扩展

ran*_*ght 3 unix bash shell wildcard

我正在尝试创建自定义shell作为练习,并希望实现通配符扩展.像bash这样的shell究竟如何进行扩展?我的意思是涉及所有步骤?

据我所知,shell在当前目录中查找文件名,并将包含'*'的参数替换为应匹配的文件名.它是否正确?除了'*'之外,shell应该执行哪些其他通配符扩展

Dan*_*ing 5

POSIX规范描述了POSIX兼容shell应该支持的扩展一词.您可以使用globwordexpPOSIX函数执行这些扩展(glob仅支持支持的一小部分扩展wordexp).