1、分隔管道:如果已经使用管道,则以管道为分隔符,将指令切成各别的命令。
2、对各别命令进行以下分析。
3、取出token:使用分隔字符,如空白、Tab,将命令分成token。所谓token就是组成命令的单词。
4、替换别名:检查命令的第一个token是不是别名,若是,就把别名替换成真正的指令。
5、括号扩展:若token中有括号扩展的语法,则进行展开。如{sb,b}in展开成sbin bin.
6、符号扩展:若token中有home目录的符号,则替换成实际的路径。
7、替换变量
8、替换命令:若token中有$(command)的形式,则换成实际的执行结果。
9、替换算术:若有算术式,则计算其结果,并进行替换
10、替换通配符
11、根据函数、内置命令、搜寻路径的顺序,找寻第一个token所代表的命令位于何处
12、执行已替换完成的命令。
阅读(1408) | 评论(0) | 转发(0) |