• 学以致用十九-----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、反斜线,转义字符,把特殊字符变成普通字符

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

  • 相关阅读:
    无题..
    让Windows 2003 Server支持ASP程序
    下雪
    比较经典的.NET基础
    XML几种操作
    某年某月有几天
    .NET操作Word(傻瓜型)
    XML 简单操作
    一首歌
    ASP.NET:掌握Web窗体的生命周期与状态管理(摘自网络)
  • 原文地址:https://www.cnblogs.com/liongong/p/9773488.html
Copyright © 2020-2023  润新知