如何让Hudson停止转义shell脚本的部分内容?

时间:2010-04-21 21:03:30

标签: hudson

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

现在我有

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

这很好,可以改为

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

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

那么我该如何让这个脚本工作呢?

修改 所以我省略了我使用sudo cp /path/*.log的部分,因为我认为这不重要。当然它确实和sudo是问题,而不是哈德森。

3 个答案:

答案 0 :(得分:1)

一个简单的答案是将shell脚本放在一个单独的文件中,并进行哈德森调用。

答案 1 :(得分:1)

sudo bash -c "cp /directory/structure/*.log"

答案 2 :(得分:0)

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

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

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