- 单引号不识别特殊语法
name="ikun"
echo 'I am ${name}' #会得到输出:I am ${name}
- 双引号识别特殊语法
name="ikun"
echo "I am ${name}" #会得到输出:I am ikun
- 使用反引号赋值,将会把反引号中的内容当作shell命令执行,并把执行的返回结果赋值给前面的name(和上面两种的区别还是比较大的)
name=`ls`
echo "I am ${name}"
会返回你的文件列表

本文讨论了在Shell编程中,单引号、双引号和反引号在处理变量赋值时的不同行为。单引号不解析变量,双引号解析但不执行命令,而反引号则将其中的命令执行并赋值给变量。
name="ikun"
echo 'I am ${name}' #会得到输出:I am ${name}
name="ikun"
echo "I am ${name}" #会得到输出:I am ikun
name=`ls`
echo "I am ${name}"
会返回你的文件列表

4629
2万+
445

被折叠的 条评论
为什么被折叠?
