有和没有环境变量的壳报价

时间:2013-03-24 12:40:34

标签: shell environment-variables quotes

以下是问题:

  

当shell正在读取命令行时,双引号(“)和单引号(')之间的文本之间的文本有什么区别?

     

您需要考虑两种情况,其中存在环境变量且没有环境变量。

我似乎找不到区别,对我来说两种情况都是以同样的方式使用。

我对硬引用和软引用有一点了解,但这引起了我的注意。

2 个答案:

答案 0 :(得分:0)

通常在可以提取Shell变量值的地方使用双引号。 例如:

my_name="prabhu"
echo "printing $my_name"

输出:打印prabhu

单引号不会打印变量的值而是打印给定的内容。 示例:

my_name="prabhu"
echo 'printing $my_name'

输出:打印$ my_name

答案 1 :(得分:0)

这个问题措辞不力。它似乎是指一般的变量,而不是试图区分“shell变量”和“环境变量”(即标记为导出到子进程的shell变量)。如果这是真的,那么正确的答案当然是双引号字符串允许参数扩展,而单引号字符串则不允许。