1)、单引号属于强引用,它会忽略所有被引起来的字符的特殊处理,被引用起来的字符会被原封不动的使用,唯一需要注意的点是不允许引用自身;

2)、双引号属于弱引用,它会对一些被引起来的字符进行特殊处理,主要包括以下情况:

1:$加变量名可以取变量的值 ,比如:

    [root@localhost ~]# echo '$PWD'
    $PWD  
    [root@localhost ~]# echo "$PWD"
    /root 

2:反引号和$()引起来的字符会被当做命令执行后替换原来的字符,比如:

    [root@localhost ~]# echo '$(echo hello world)'
        $(echo hello world)

 [root@localhost ~]# echo "$(echo hello world)"
  hello world

    [root@localhost ~]# echo '`echo hello world`'
        `echo hello world`
    [root@localhost ~]# echo "`echo hello world`"
        hello world 

3:当需要使用字符($ ` " \)时必须进行转义,也就是在前面加\ ;

    [root@localhost ~]# echo '$ ` " \'
    $ ` " \
    [root@localhost ~]# echo "\$ \` \" \\"
    $ ` " \