error =和error =''之间的差异

时间:2015-09-29 08:41:33

标签: bash

在Bash中,这两个变量定义有区别吗?

error=
error=''

在空虚/未设置时对它们进行测试似乎表明它们是平等的,但我仍然希望确定。

1 个答案:

答案 0 :(得分:8)

简答:不,根本没有差异。 在解析过程中会删除引号。

来自Variable Assignment section of the POSIX reference

  

在shell命令语言中,由以下部分组成的单词:

varname=value

以下几行你会看到:

  

如果未指定 value ,则应为变量赋予空值。

要检查这个(在Bash中):

$ variable1=
$ variable2=''
$ declare -p variable{1,2}
declare -- variable1=""
declare -- variable2=""

他们看起来一模一样!