红联Linux门户
Linux帮助

bash shell 单引号’和一点`有什么区别

发布时间:2011-06-01 10:39:14来源:红联作者:waltt33
[i=s] 本帖最后由 waltt33 于 2011-6-2 21:32 编辑 [/i]

rt
文章评论

共有 6 条评论

  1. waltt33 于 2011-06-02 19:59:10发表:

    阿。。这下很清楚了,,谢谢楼上各位 :)

  2. 秦合六一 于 2011-06-01 22:40:23发表:

    由单引号括起来的字符都作为普通字符,即使是特殊字符,也会失去原来的意义。而由倒引号括起来的字符串,则被shell解释为命令令。在执行时,shell会先执行该命令行。并以它的标准输出结果取代整个倒引号部分。如:echo `pwd`.结果会回显出当前的工作路径。

  3. 秦合六一 于 2011-06-01 22:39:52发表:

    由单引号括起来的字符都作为普通字符,即使是特殊字符,也会失去原来的意义。而由倒引号括起来的字符串,则被shell解释为命令令。在执行时,shell会先执行该命令行。并以它的标准输出结果取代整个倒引号部分。如:echo `pwd`.结果会回显出当前的工作路径。

  4. lijiang 于 2011-06-01 13:48:21发表:

    shell中,由单引号(')括起来的字符都作为普通字符出现。
    你所谓的一点(`)实际叫做倒引号!
    倒引号括起来的字符串被shell解释为命令行,执行时,shell会先执行该命令行,并以它的标准输出结果取代整个倒引号部分。

  5. wangyu 于 2011-06-01 13:35:36发表:

    单引号输出的是单引号里原封不动的内容,反引号输出的是命令的结果,反引号里是命令

  6. age 于 2011-06-01 12:02:16发表:

    [i=s] 本帖最后由 age 于 2011-6-1 12:14 编辑 [/i]

    ''不能转义, 简单说'$X'这种, 它不会去查找变量X的值, 并将之输出. 而是把$X当普通字符输出
    `是执行命令的,比如 X=`ls /`, ls的结果就会被赋给X. 不过我一般用$()代替, 二者等价, 后者更清楚点. 容易查错