PostgreSQL 交互式终端:用单引号或双引号传递参数——有什么区别吗?

PostgreSQL interactive terminal: passing parameters with single quotes or double quotes - any difference?

在 bash 脚本中,我有以下代码:

if [ $variable_name == 'NULL' ] ; then 
  variable_name="NULL" ; fi 


psql - h $IP
     -U $NAME
     -n
     -q
     -f some_psql_procedure 
     -v variable_name =$variable_name 

将字符串 'SOME_STRING' 的变量或字符串 "SOME_STRING" 的变量传递给 PostgreSQL 交互式终端有什么区别?

这个 if 的说法有意义吗?

不,这没有任何意义。

单引号和双引号的区别在于,shell 会在双引号字符串中插入$varname这样的表达式,而单引号字符串则保持不变.