echo "$test"不会保留空格 echo $test不会保留空格。“”会保持变量的原态,部分不会保持原态(转义)而''会完全保持原态echo '$test'会输出$test。如果什么都不加变量会自动过滤一些特殊字符。变量的状态是不可知的。双引号作用是变量替换是不被阻止的。所以双引号称为部分引用。单引号作用会把变量替换完全被禁止。变量名只会被解释称字面意思。不会发生变令替换。所以被成为全部引用。
参考资料:http://book.51cto.com/art/201001/175451.htm