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、反斜线,转义字符,把特殊字符变成普通字符

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

  • 相关阅读:
    Unity4.5版本DLL库名字问题
    Unity路径规划
    Unity 父物体与子物体位置
    Moving in Unity
    C# Xml文件操作,解释见注释
    发个招聘信息
    Unity 视频播放杂谈
    unity中Debug输出控制
    编写可读代码艺术之表面层析
    匈牙利命名法,骆驼命名法(camel),帕斯卡(Pascal)命名法(转)
  • 原文地址:https://www.cnblogs.com/liongong/p/9773488.html
Copyright © 2011-2022 走看看