2014-03-24 150 views
2

我想压缩所有文件/目录,同时排除变量$ excludes中列出的一些文件/目录。但是,以下代码段不会排除这些文件。Linux命令变量替换

excludes='"dir1/*" "dir2/*" "dir3/*"' 
zip -r zipfile * -x $excludes 
+0

你可以尝试:'zip -r zipfile * -x dir1/* dir2/* dir3/*' – anubhava

+0

是的工作,问题是与变量替换... – user3388884

+0

尝试'excludes ='dir1/* dir2/* dir3/*'' – Sammitch

回答

1

这应该工作:

zip -r zipfile * -x dir1/* dir2/* dir3/* 

甚至可以这样:

excludes='dir1/* dir2/* dir3/*' 
zip -r zipfile * -x "$excludes" 
1

你有没有试着用反斜杠的星号:

excludes='"dir1/\*"' 
+0

@ user338884 - 这对我有效: 'dna ='dir1/* \ * dir2/* \ *'' 'zip archive.zip * -x $ dna' – Snake