zoukankan      html  css  js  c++  java
  • shell中的单引号和双引号的区别

    对于常规的字符串定义变量值应添加双引号,并且等号后不能 有空格,需要强引用的,则需要单引号,需要命令引用的使用反引号。

    单引号:所见即所得,即输出时会将单引号内的所有内容都原样输出,或者描述为单引号里面看到的什么就输出什么,这成为强引用。

    双引号:输出双引号的所有内容;如果内容中有命令(要反引)、变量、特殊转义,会先把变量、命令、转义字符解析出结果,然后在输出最终内容,这称为弱引。

    反引号:一般用于命令,执行的时候命令会被执行,相当于$(),赋值和输出都要用反引号引起来。

    [root@localhost ~]# time=date
    [root@localhost ~]# echo $time
    date
    [root@localhost ~]# time=`date`
    [root@localhost ~]# echo $time
    2019年 08月 01日 星期四 08:14:11 CST
    [root@localhost ~]# time="`date`"
    [root@localhost ~]# echo $time
    2019年 08月 01日 星期四 08:21:15 CST
    [root@localhost ~]# time='`date`'
    [root@localhost ~]# echo $time
    `date`
    [root@localhost ~]# echo $PATH
    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
    [root@localhost ~]# echo `$PATH`
    -bash: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin: 没有那个文件或目录
    
    [root@localhost ~]# echo "$PATH"
    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
    [root@localhost ~]# echo '$PATH'
    $PATH
    [root@localhost ~]# time="现在是北京时间:`date`"
    [root@localhost ~]# echo $time
    现在是北京时间:2019年 08月 01日 星期四 08:24:25 CST
    [root@localhost ~]# time='现在是北京时间:`date`'
    [root@localhost ~]# echo $time
    现在是北京时间:`date`
    [root@localhost ~]# time="现在是北京时间:`date`"
    [root@localhost ~]# echo $time
    现在是北京时间:2019年 08月 01日 星期四 08:25:19 CST
    [root@localhost ~]# time='现在是北京时间:`date`'
    [root@localhost ~]# echo $time
    现在是北京时间:`date`
    其实在shell中 echo的参数e能够解析转义字符,在单引或者双引的情况下都能够解析。
    -e 启用下列反斜杠转义的解释

    [root@localhost ~]# time="我们都是 好孩子" [root@localhost ~]# echo -e $time 我们都是 好孩子 [root@localhost ~]# time='我们都是 好孩子' [root@localhost ~]# echo -e $time 我们都是 好孩子

    不用“”在shell解释器中能否转义,需要进一步验证,建议代码中使用“”定义转义符。

  • 相关阅读:
    【2012】笔试面试总结(二)
    sdf数据文件查看小工具
    excel表格中怎样使个别单元格变成只读
    平时收获,供需及取(PPC)
    GDI+ 绘制统计图(2D、3D)
    Com注册
    Pocket PC 录音
    我有自己的"CodeSnippet"了!
    打包Winows Mobile快捷方式中文问题?
    ORA12154: TNS: 无法解析指定的连接标识符问题解决
  • 原文地址:https://www.cnblogs.com/anttech/p/11247423.html
Copyright © 2011-2022 走看看