zoukankan      html  css  js  c++  java
  • 单引号‘’双引号“”反向单引号``的区别

    单引号 ' '

    • 六亲不认,单引号中的所有内容都被认为是字符串
    [21:23:26 root@C8-3-55 ~]#echo 'echo $LANG'
    echo $LANG
    

    双引号 " "

    • 双引号可以识别变量,不能识别命令
    [21:37:14 root@C8-3-55 ~]#echo "echo $LANG"
    echo zh_CN.utf8
    

    反向单引号 ` `

    • 即能识别其中的命令,又能识别其中的变量,但不支持嵌套

    • 聪明的孩子总是比较反叛

    [21:40:47 root@C8-3-55 ~]#echo `echo $LANG` ## 单引号内echo和$分别被识别成命令和变量
    zh_CN.utf8
    [21:41:01 root@C8-3-55 ~]#echo `echo `echo $LANG`` ## 嵌套中最内层echo 被识别为命令,但外层echo没有被识别
    echo zh_CN.utf8
    [21:41:34 root@C8-3-55 ~]#echo `echo "echo $LANG"` ## 内层嵌套双引号,外层echo 没有被识别
    echo zh_CN.utf8
    [21:41:45 root@C8-3-55 ~]#echo `echo 'echo $LANG'` ## 内层嵌套单引号,外层echo没有被识别
    echo $LANG
    [21:41:57 root@C8-3-55 ~]#echo `echo $(echo $LANG)` ## 内层嵌套了$()后,外层echo被识别成命令
    zh_CN.utf8
    
    

    放在反向单引号内的一定是命令,否则会报错

    $()

    • 功能类似反向单引号

    • 既能识别其中的命令和变量,又支持嵌套

    [21:42:12 root@C8-3-55 ~]#echo $(echo 'echo $LANG')
    echo $LANG
    [21:42:41 root@C8-3-55 ~]#echo $(echo "echo $LANG")
    echo zh_CN.utf8
    [21:43:06 root@C8-3-55 ~]#echo $(echo `echo $LANG`)
    zh_CN.utf8
    [21:43:18 root@C8-3-55 ~]#echo $(echo $(echo $LANG))
    zh_CN.utf8
    

    不管内层嵌套的是什么,$()外层的echo都会被识别。

    放在反向单引号 ` ` 和$()内部的必须是可以执行的命令

    • 否则会报错
    [21:43:36 root@C8-3-55 ~]#echo `root`
    -bash: root: 未找到命令
    
    [21:54:29 root@C8-3-55 ~]#echo `print root`
    -bash: print: 未找到命令
    
    [21:54:36 root@C8-3-55 ~]#echo $(root)
    -bash: root: 未找到命令
    
    * * * 胖并快乐着的死肥宅 * * *
  • 相关阅读:
    MyEclipse 中引用包的快捷键
    php中函数 isset(), empty(), is_null() 的区别
    Mysql sql_mode设置 timestamp default 00000000 00:00:00 创建表失败处理
    20190729 将博客搬至CSDN
    Python网络爬虫精要
    PhpStorm 头部注释、类注释和函数注释的设置
    asp.net 将内容导出EXCEL文件(转)
    C#中用GDI+生成饼状图和柱状图
    企业级架构、开发在软件中的定义
    C#中的装箱与拆箱的概念
  • 原文地址:https://www.cnblogs.com/bpzblog/p/14522543.html
Copyright © 2011-2022 走看看