在Bash中,这两个变量定义有区别吗?
error=
error=''
在空虚/未设置时对它们进行测试似乎表明它们是平等的,但我仍然希望确定。
答案 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=""
他们看起来一模一样!