我正在尝试创建一个shell脚本来管理我与s3-bucket的同步。 以下是我的剧本:
public static void main(String[] args) throws InterruptedException {
MyIntegerBounded m = new MyIntegerBounded(24, 60);
System.out.println(m.get()); // 24
m.increment();
System.out.println(m.get()); // 25
m.add(40);
System.out.println(m.get()); // 5
}
#!/bin/bash
aws s3 sync $1 $2 $(for word in $(echo "$excludeconf"| tr ";" " "); do echo -n "--exclude \"$word\" "; done) $del --no-follow-symlinks $3
是来源
$1
是目的地
$2
是另一个传递的参数(dryrun)。 $3
获取文件列表&文件夹$(word...
并使用它们创建$excludeconf
。
如果我运行脚本,它不会排除任何内容。
如果我在上面的命令前加上--exclude ...
,我就明白了:
echo
如果我复制该命令并在终端内手动运行它可以正常工作。
有什么想法吗?
仅供参考:我正在运行CentOS 7
编辑:
经过一些测试我发现问题是通配的:public / icon / *被解释为public / icon / folder1 public / icon / folder2如果我尝试设置noglob它将无法工作..是因为它在$(..)里面?
答案 0 :(得分:0)
我已经在python中重写了脚本并将其更改为:
os.system("set -f noglob && aws s3.....")
那很有效。