用惯了matlab, R,或者python,我们会习惯在变量在等号变量赋值的时候等号前面加上空格,以便代码可读性更强。比如下面的R代码和结果
但是在写shell脚本的时候
PATH_O = "ncdhb/cbu/bh"
会报错:
line 1: PATH_O: command not found
这样写代码就能正确找到文件位置了:
PATH_O="ncdhb/cbu/bh"
原因是shell在解释命令时的原则是第一个符号标记只能是程序或者命令,有空格的时候第一个符号标记就是“PATH_O”,当然就不成立了;而没有空格的时候,第一个标记是“PATH_O=“ncdhb/cbu/bh”,shell将解释为变量赋值指令。