单引号(' ')
      单引号可以说是即见即所得,即将单引号的内容原样输出
      由单引号括起来的字符都作为普通字符输出
      防止任何变量扩展,当shell碰到第一个单引号时,它将忽略掉其后直到右引号的所有特殊字符
      例如:
a=hello
      echo  ' $a ? * `pwd` '      # 输出: $a ? * `pwd`
      echo  ' " `pwd` " '           # 输出:" `pwd` "
双引号(" ")
      双引号与单引号类似,不同在于单引号忽略所有特殊字符,双引号只要求忽略大多数
$  \  `,其余字符作为普通字符对待
echo  " ' `pwd` ' "           # 输出:' /home/ubuntu '
      echo  " ' $a ' "                 # 输出:' hello '  
      与单引号的区别实例:
      x=*
      echo  $x                          # 输出当前目录下的所有文件
      echo  ' $x '                      # 输出:$x
      echo  " $x "                     # 输出:*
反引号(` `)
      1.反引号括起来的字符串被shell解释为命令行
      在执行时,shell会先执行该命令行,并以它的标准输出结果取代整个反引号部分
      shell能够将一个命令的标准输出插在一个命令行中任何位置
 echo today is `date`       # 输出:today is 2013年 04月 23日 星期二 09:29:30 CST
      # shell执行echo命令时,首先执行`date`的命令date,并将输出结果取代`date`这部分
      # 最后输出替换后的整个结果
      2.反引号的这种功能可以进行命令置换,即把反引号括起来的执行结果赋值给指定变量
      例如:
 today=`date`
today is 2013年 04月 23日 星期二 09:29:30 CST
     3.$(...)结构也可以进行命令替换

today=$(date)               # 将date命令的标准输出结果取代$(date)这部分并赋给变量today
      echo today is $today     # 输出:today is 2013年 04月 23日 星期二 09:29:30 CST
     4.$()和``的区别
      反引号可以嵌套使用,但必须注意嵌套使用时内层的反引号必须用反斜线将其转义
      例如:
user=`echo user is `whoami``
      echo $user                    # 输出:user iswhoami
      user=`echo user is \`whoami\``
      echo $user                    # 输出:user is ubuntu
      反引号内嵌套反引号时必须用反斜线将其转义,而$()中可以直接嵌套
 user=$(echo user is $(whoami))
      echo $user                    # 输出:user is ubuntu
      5.$()和``的优缺点
      反引号基本上可用在全部的unix shell中,其移植性比较高,但是``(反引号)与' '(单引号)容易混淆
      $()相对于``比较直观,而且可以多层嵌套,但是$()并不是每一种shell都能使用。
反斜线(\)
      1.反斜线放在特殊符号前,则该特殊符号的作用消失
      放在指令前,有取消别名(aliases)的作用
      name=jim                      
      echo $name                  # 输出:jim
      echo \$name                 # 输出:$name
      echo *                           # 输出当前目录下的所有文件
      echo \*                          # 输出:*
      echo \'                           # 输出:'
      echo \"                           # 输出:"
      echo \\                           # 输出:\
      2.在echo命令后如果要让转义字符发生作用就要使用-e选项并且使用双引号括起来
      如\a \b \e \n \r \t 等
 echo \n                          # 输出:n
      echo "\n"                       # 输出:\n
      echo -e \n                      # 输出:n
      echo -e "\n"                   # 输出:换行
     3.反斜线用于一行的最后一个字符时即反斜线后跟着一个新行
      shell会把行尾的反斜线作为续行符(回车符无效,只起换行作用)
      这种结构在分几行输入长命令时经常使用