zoukankan      html  css  js  c++  java
  • 学以致用十九-----shell脚本之引号

    shell脚本中引号也是有讲究的。

    可以分为单引号‘ ’,双引号“ ”和 反引号 ` ` 

    具体区别来看一个例子

    输出结果

    可得出结论

    1、 单引号括起来的字符都作为普通字符出现,如第4,7,10,13,16,19,22行

    值得一提的是第19行,执行结果并非预期的 My home dictory is : ‘$HOME’  而是 My home dictory is :/root

    原因是执行的时候My home dictory is : ‘$HOME’  这里还有单引号,$HOME继续作为普通字符串输出,于是进一步分解为 My home dictory is :$HOME,执行系统变量,得到最终结果 My home dictory is :/root

    步骤:‘ My home dictory is : ‘$HOME’ ‘ -----------> My home dictory is : ‘$HOME’ ---------> My home dictory is :$HOME ------------>  My home dictory is :/root

    2、由双引号括起来的字符,除$ ,反引号 `` 和反斜线  (反斜线没有在这举例,后续举例)保留其特殊功能外,其余字符均作为普通字符对待。

    如第5,8,11行

    第11行, 单引号不保留其特殊功能,因此单引号被输出

    第17行,反引号生效,执行$HOME的时候报错,提示 /root是一个目录

    第20行,同样是单引号失去其特殊功能,$保留其特殊功能,因此结果是 My home dictory is :'/root'

     3、反引号括起来的字符串会被shell解释为命令,在执行的时候会先执行该命令。因此第17行会报错

     4、反斜线,转义字符,把特殊字符变成普通字符

    注意双引号中,反斜线保留其特殊作用时的位置。

  • 相关阅读:
    关闭当前的子窗口,刷新父窗口,弹出层提示框
    让一个div层于窗口中间位置
    一些技术贴,留待以后研究
    什么才是程序员的核心竞争力?
    自己喜欢的编辑器字体设置
    Ajax请求状态200,却走error的函数
    20141110的alltosun面试
    匹配中文的正则表达式
    数据表损坏:Incorrect key file for table
    oracle union 和 union all
  • 原文地址:https://www.cnblogs.com/liongong/p/9773488.html
Copyright © 2011-2022 走看看