其实真正的原因是,shell 不是你设计的,也不是我设计的,人家就那么设计了,你想用它,就得遵守它的约定。如果你来设计一个 shell,完全可以让等号两边都允许有空格,而在 2 楼举的那个例子中,在等号前加反斜杠取消等号的特殊含义。但是最人家没有这么。所以,要么使用人家的约定,要么自己来设计一个 shell。