以下是问题:
当shell正在读取命令行时,双引号(“)和单引号(')之间的文本之间的文本有什么区别?
您需要考虑两种情况,其中存在环境变量且没有环境变量。
我似乎找不到区别,对我来说两种情况都是以同样的方式使用。
我对硬引用和软引用有一点了解,但这引起了我的注意。
答案 0 :(得分:0)
通常在可以提取Shell变量值的地方使用双引号。 例如:
my_name="prabhu"
echo "printing $my_name"
输出:打印prabhu
单引号不会打印变量的值而是打印给定的内容。 示例:
my_name="prabhu"
echo 'printing $my_name'
输出:打印$ my_name
答案 1 :(得分:0)
这个问题措辞不力。它似乎是指一般的变量,而不是试图区分“shell变量”和“环境变量”(即标记为导出到子进程的shell变量)。如果这是真的,那么正确的答案当然是双引号字符串允许参数扩展,而单引号字符串则不允许。