zoukankan      html  css  js  c++  java
  • linux 单引号,双引号,反引号

    单引号


    目的: 为了保护文字不被转换.除了他本身. 就是说除去单引号外, 在单引号内的所有文字都是原样输出.


    1. [root@jszwl161 SP49EP9]# echo '$*><!'


        $*><!


    2. [root@jszwl161 SP49EP9]# echo 'she is crying: "help"'


        she is crying: "help"


    3. [root@jszwl161 SP49EP9]# echo '\\'


        \\


    4. [root@jszwl161 SP49EP9]# echo 'hah 'test''


        hah test    #略去了所有'


    5. [root@jszwl161 SP49EP9]# echo ' today is `date`'


        today is `date`   #反引号在此无法实现函数功能.


    双引号


    目的: 为了包含文字或者函数段. 除了本身,反引号内的函数,$开头的变量和开头反转换的字符外, 其余都是直接输出.


    1. [root@jszwl161 SP49EP9]# echo "today is `date`"


        today is Fri Jul   4 08:03:34 GMT 2008


    2. [root@jszwl161 SP49EP9]# echo "today is 'date'"


        today is 'date'


    3. [root@jszwl161 SP49EP9]# echo "\\"


        \


    4. [root@jszwl161 SP49EP9]# echo "test "test""


        test test


    反引号


    目的是为了在双引号内保持函数转换. 但单引号内其无作用.


    1. [root@jszwl161 SP49EP9]# echo "today is `date`"


         today is Fri Jul   4 08:03:34 GMT 2008    #将函数date转换.


    2. [root@jszwl161 SP49EP9]# echo ' today is `date` '


         today is `date`    #在单引号内无作用.


     


     


     


    单引号


    被单引号用括住的内容,将被视为单一字串。在引号内的代表变数的$符号,没有作用,也就是说,他被视为一般符号处理,防止任何变量替换。


    双引号
    被双引号用括住的内容,将被视为单一字串。它防止通配符扩展,但允许变量扩展。这点与单引数的处理方式不同。


    反引号
    在前面的单双引号,括住的是字串,但如果该字串是一列命令列,会怎样?答案是不会执行。要处理这种情况,我们得用反单引号来做。
    fdv=`date +%F`echo "Today $fdv"
    在倒引号内的 date +%F 会被视为指令,执行的结果会带入 fdv 变数中。
  • 相关阅读:
    BZOJ2303:[APIO2011]方格染色(并查集)
    BZOJ1116:[POI2008]CLO(并查集)
    BZOJ4011:[HNOI2015]落忆枫音(DP,拓扑排序)
    洛谷1387 最大正方形
    洛谷 P1858 多人背包
    vijos 1085 Sunnypig闯三角关
    vijos 1030 重叠的方框
    codevs 1001 舒适的路线 WK
    1266. [NOIP2012] 借教室
    codevs 2370 小机房的树
  • 原文地址:https://www.cnblogs.com/vigorz/p/10499089.html
Copyright © 2011-2022 走看看