0

这是问题:

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

您需要考虑有环境变量和没有环境变量的两种情况。

我似乎找不到区别,对我来说这两种情况的使用方式相同。

我对硬引号和软引号有点了解,但这让我很困惑。

4

2 回答 2

0

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

于 2013-03-24T15:52:21.133 回答
0

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

my_name="prabhu"
echo "printing $my_name"

输出:打印 prabhu

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

my_name="prabhu"
echo 'printing $my_name'

输出:打印 $my_name

于 2013-03-24T12:47:39.057 回答