【问题标题】:Understanding bash brace expansion了解 bash 大括号扩展
【发布时间】:2015-11-08 21:39:42
【问题描述】:

我读了这篇文章:https://superuser.com/questions/304807/brace-expansion-run-several-commands-instead-of-expanding-on-one-line 并尝试了它的eval echo 扩展方式。为什么下面的两个命令不同?


命令 1:

$ eval echo\ {a,b,c}\;

结果 1:

a
b
c

命令 2:

$ eval echo\ {a,b,c} \;

结果 2:

a echo b echo c

【问题讨论】:

    标签: linux bash expansion brace-expansion


    【解决方案1】:

    eval 只是令人困惑的事情,所以摆脱它:

    $ echo echo\ {a,b,c}\;
    echo a; echo b; echo c;
    $ echo echo\ {a,b,c} \;
    echo a echo b echo c ;
    

    这应该让正在发生的事情一目了然。在第一种情况下,eval 执行三个不同的 echo 命令。在第二种情况下,它只评估一个以字符串 'a echo b echo c' 作为参数的命令。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-10
      • 2012-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多