单引号 ‘string’ 则原样输出 特殊字符也失去意义!
双引号 “string” 和单引号类似 只是$、’、和”、\这几个字符仍是特殊字符并保留其特 殊功能外,其余字符仍作为普通字符!它防止通配符扩展,但允许变量扩展。这点与单引数的处理方式不同。
反引号 `string` 预先执行反引号里面的命令,设置系统命令输出到变量(作为变量使用)
echo `date` !
fdv=`date +%F`echo “Today $fdv”
在倒引号内的 date +%F 会被视为指令,执行的结果会带入 fdv 变数中。
在倒引号内的 date +%F 会被视为指令,执行的结果会带入 fdv 变数中。
1)shell 碰到第一个单引号时,它将忽略掉其后所有特殊字符,直到右引号位置结束。
2)双引号作用与单引号类似。单引号是让shell忽略所有特殊字符,而双引号只要求忽略大多数的字符。具体说,括在双引号中的三种特殊字符不被忽略:$, \, 反引号, 即双引号会解释字符串的特别意思,而单引号直接使用字符串.如果使用双引号将字符串赋给变量并反馈它,实际上与直接反馈变量并无差别。如果要查询包含空格的字符串,经常会用到双引号。
例如:"$var" 表示参数var的值;'$var'打印出来即为$var。
3)命令替换是指shell能够将一个命令的标准输出插在一个命令行中任何位置。shell中有两种方法作命令替换:把shell命令用反引号或者$(...)结构括起来,其中,$(...)格式受到POSIX标准支持,也利于嵌套。
4)反斜杠,转义