分配不在shell中工作的值

时间:2015-12-29 02:06:11

标签: bash

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

为什么这不起作用?

2 个答案:

答案 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