壳牌语录使用和不使用环境变量

问题描述:

这里有一个问题:壳牌语录使用和不使用环境变量

当炮弹读取命令行,就是双引号(“)和文本单引号引起来之间封闭的文本之间的差异(')?

你需要考虑两种情况,其中有环境变量,并且没有环境变量。

我似乎无法找到一个差异,我使用两种情况下,相同的方式

我对硬性和软性引号有一些理解,但是这引发了我。

+0

在这种情况下,环境变量和普通shell变量没有区别。你为什么不相信? – chepner 2013-03-24 15:22:11

+0

再次想到,我认为你的提问者在将变量一般称为“环境变量”时是错误的。通过这种方式阅读,您了解双引号允许参数扩展是正确的答案。 – chepner 2013-03-24 15:28:31

+0

谢谢你的澄清。 – user2181271 2013-03-24 15:48:38

双引号通常用于可以提取Shell变量值的地方。 实施例:

my_name="prabhu" 
echo "printing $my_name" 

输出:印刷帕布

单引号不打印一个变量的值,而不是打印给定的内容。 实施例:

my_name="prabhu" 
echo 'printing $my_name' 

输出:印刷$ MY_NAME

+0

是的,这就是我所理解的,但我不明白什么时候使用环境变量和何时不使用环境变量之间的区别。无论如何,谢谢你的回答。 – user2181271 2013-03-24 13:01:12

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