shell学习笔记之三(转义跟引用)

shell学习笔记之三(转义和引用)
转义和引用
    两类字符:普通字符和转义字符
    转义:
        "\"
        例:
            1、echo $Dollar
            2、echo  \$Dollar
            3、echo ?
        需要转义的字符:* $ ( ) \ ' ` " ? + ! # & [ ] { } < > | ; /    
            注意:
                !#:
    引用:
        引用指将字符串用某种符号括起来,以防止特殊字符被解析为其他意思。
        四种:双引号,单引号,反引号,转义符
        其中,双引号叫部分引用或弱引用,可以引用除$,反引号,转义符之外的所有字符;单引号叫全引用或强引用,可以引用所有的字符;反引号则会将反引号中的内容解释为系统命令。
        1、部分引用
            $,`,\这三种特殊字符依然会被解析为特殊字符
            注意:
                VAR="A   B C"
                echo $VAR ;//A B C
                echo "$VAR" ;//A   B C
        2、全引用
            所有的字符都是普通的字符
                echo '$var';//$var
     命令替换:
        1、``
            例:
                var=`date`
        2、$()
            数组是${}
            例:
                var=$(date)
        当命令输出是多行时,此时若不通过引用的方式输出变量,则输出的内容将会删除换行符,文件名之间会使用系统默认的空来填充,即输出内容只占一行。
        例:
            #LS=`ls`
            #echo $LS
            algorithm awk.txt Crontab.class Crontab.java crontab.txt 
            #echo "$LS"
            algorithm
            awk.txt
            Crontab.class
            Crontab.java
            crontab.txt
        $()支持嵌套,而``不支持,且``和单引号差不多,复杂时不推荐使用
            例:
                Fir=$(wc -l $(ls | sed -n '1p'))