美文网首页我用 Linux每天一个Linux命令Linux学习之路
每天一个Linux命令:shell中单引号与双引号的经典解释

每天一个Linux命令:shell中单引号与双引号的经典解释

作者: walker86 | 来源:发表于2019-07-10 17:59 被阅读8次

    01 经典解释

    单引号:所见即所得

    双引号:所见非所得,它会先把变量解析之后,再输出

    反引号(``) :命令替换,通常用于把命令输出结果传给入变量中

    反斜杠( \ ) :转义字符/逃脱字符,Linux如果echo要让转义字符发生作用,就要使用-e选项,且转义字符要使用双引号 

    02 实例演示

    请先看下面这个例子:

    [root@dev2~] echo "$HOME"

    /root

    [root@dev2~] echo '$HOME'

    $HOME

    从上面的例子就可以体现出单引号所见即所得,双引号所见非所得的解释,双引号的时候,系统会先计算$HOME 的值,然后在echo出来,而单引号就是直接显示单引号里的内容了

    my_name='wzx'

    str="Hello, I know your are \"$my_name\"! \n"

    单引号字符串的限制:

    单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的;

    单引号字串中不能出现单引号(对单引号使用转义符后也不行)。

    双引号的优点:

    双引号里可以有变量

    双引号里可以出现转义字符

    接下来看看反引号的例子(``) 

    #!/bin/bash

    #演示``反引号功能

    RESULT=`md5sum /home/wzx/Desktop.zip`

    #RESULT=$(md5sum /home/wzx/Desktop.zip)

    echo"Desktop.zip MD5值为:$RESULT"

    再来看看反斜杠:一般用作转义字符,或称逃脱字符,Linux如果echo要让转义字符发生作用,就要使用-e选项,且转义字符要使用双引号 

    echo-e "\n"

    反斜杠的另一种作用,就是当反斜杠用于一行的最后一个字符时,Shell把行尾的反斜杠作为续行,这种结构在分几行输入长命令时经常使用。

    相关文章

      网友评论

        本文标题:每天一个Linux命令:shell中单引号与双引号的经典解释

        本文链接:https://www.haomeiwen.com/subject/mvahkctx.html