OS: Ubuntu 14.04
我创建了一个名为test的测试文件,其中包含:
#!/bin/bash
NEW_VALUE = "/home/"
echo $NEW_VALUE
chmod +x test
./test
产生以下内容:
./test: line 2: NEW_VALUE: command not found
为什么这不起作用?
答案 0 :(得分:2)
在Bash中,在分配变量时,=
符号周围不能有任何空格。
即使在=
之后,任何空格都将结束作业,例如:
test_var=this is bad
#=> is: command not found
@CharlesDuffy's comment explaining why this happens
检查此链接,了解有关bash中变量分配的更多信息:http://wiki.bash-hackers.org/scripting/newbie_traps#setting_variables
答案 1 :(得分:0)
在分配时删除空白区域然后它将正常工作。就像:
#!/bin/bash
NEW_VALUE="/home/"
echo $NEW_VALUE