意外令牌附近的语法错误`(''

时间:2012-10-31 07:23:55

标签: bash shell ubuntu cmd

我是ubuntu编写脚本的新手。

FOR /F "tokens=2 skip=4" %%G IN ('svn info --revision HEAD') DO...

我收到以下错误 - “意外令牌附近的语法错误`('”。有人可以告诉我为什么会出现此错误吗?

2 个答案:

答案 0 :(得分:3)

所以基本上你要做的就是

  1. 通过命令svn info --revision HEAD
  2. 输出的行进行迭代
  3. 从第5行开始
  4. 将第二项/字段/列分配给变量%%G
  5. 在Bash中执行此操作的众多方法之一是

    for variable in $(svn info --revision HEAD | awk 'NR>4 {print $2}'); do
      ... something fun ...
    done
    

    这是做什么的

    1. 您将svn info --revision HEAD的输出管道/“发送”到awk命令。
    2. 如果NR(到目前为止处理的记录/行数)大于4(即跳过前4行),awk将打印出第2列/字段/项目。
    3. 然后将整个$(..)替换为awk的结果,类似于

      item2_line5
      item3_line6
      item2_line7
      ....  
      
    4. 由于Bash的单词拆分,每行被视为列表中的项目,for遍历列表中的每个项目。

答案 1 :(得分:1)

您的命令是 Windows 命令:查看Windows FOR文档here

如果您在Ubuntu工作,请在终端中输入man for,您将获得文档。