代码之家  ›  专栏  ›  技术社区  ›  Rob Spieldenner

我怎样才能让哈德逊停止转义我的shell脚本?

  •  3
  • Rob Spieldenner  · 技术社区  · 16 年前

    我希望有一个shell脚本,可以将一些日志从系统的一部分复制到hudson工作区,这样我就可以将它们存档。

    所以现在我有

    #!/bin/bash -ex
    cp /directory/structure/*.log .
    

    太好了,可以换成

    cp '/directory/structure/*.log' .
    

    当然找不到,因为我没有名为*.log的文件。

    那我怎么才能让这个剧本发挥作用呢?

    编辑 所以我省略了使用sudo cp/path/*.log的部分,因为我认为这无关紧要。当然有,sudo不是hudson的问题。

    3 回复  |  直到 16 年前
        1
  •  1
  •   Matthew Farwell    16 年前

    一个简单的答案是将shell脚本放在一个单独的文件中,并让hudson调用它。

        2
  •  1
  •   Rob Spieldenner    16 年前
    sudo bash -c "cp /directory/structure/*.log"
    
        3
  •  0
  •   Dave Bacher    16 年前

    把它扔出去,但还没有机会在哈德逊尝试(所以我不知道它是怎么被引用的):

    for f in /directory/structure/*.log ; do
        cp $f .
    done
    

    在bash shell中的简单测试中,不同的引用选项会生成copy命令的一个或多个调用(使用所有匹配文件或一次调用一个),但它们都能成功地完成复制。