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