shell中的空格
shell中的空格
shell中变量赋值的等号两侧是不能有空格的,这和shell解释和执行命令的逻辑有关. 可以比较一下下面这四个命令.
1 | var=dog |
假如我现在定义好了两个shell函数
1 | !/bin/bash |
第一个命令相当于给var
变量赋值为dog:
第二个命令相当于先执行了var
变量的赋值操作,然后执行dog
函数. 然而由于空格打断了赋值过程,而dog
被当作了一个新的命令,因此这个赋值不起作用,var
变量此时的值还是dog.
第三个命令相当于执行var
函数,传给var
函数'=dog'这个参数:
第四个命令相当于执行var
函数,传给var
函数两个参数,分别为'='和'dog':