对不?bash函数 命令 操作符的关系

引用:
原帖由 blackspace 于 2008-10-20 14:25 发表
if [ 'a' == 'a' ];

if是命令这个是肯定的。
对于if来说[ 'a' == 'a' ] 是5个参数还是一个参数?
if ... else ... fi 在 bash 中叫 compound command, 它跟一般意义上的 command 不同. 如果非要说 if 是个 command 的话, 它的参数应该是另一个 command (或曰  statement?), 因此 [ 'a' == 'a' ] 这个整体可以看做是 if 的参数.

--
是不是有点儿走火入魔了       
思考bash如何分析一条命令,是不是if [ 'a' == 'a' ];bash建立一了一个语法树      
引用:
原帖由 blackspace 于 2008-10-20 15:01 发表
思考bash如何分析一条命令,是不是if [ 'a' == 'a' ];bash建立一了一个语法树
bash 的 source code 中有个文件叫 parse.y, 是 yacc 写的语法分析代码, 有兴趣可以研究一下