Shell rsync排除不跳过列表中的某些项目

Shell rsync排除不跳过列表中的某些项目,shell,gitlab-ci,rsync,Shell,Gitlab Ci,Rsync,我有一个rsync命令,如下所示: rsync-avz——从“exclude list.txt”中排除-r/source/destination exclude list.txt如下所示: .git src config.js .gitlab-ci.yml .gitignore local-* 所有列出的文件和目录与exclude list.txt文件位于同一目录中 因此,.git、src和config.js被跳过,没有被复制(就像我想要的那样),但其余的项目仍然被复制。我的语法有什么问题?(

我有一个rsync命令,如下所示:
rsync-avz——从“exclude list.txt”中排除-r/source/destination

exclude list.txt
如下所示:

.git
src
config.js
.gitlab-ci.yml
.gitignore
local-*
所有列出的文件和目录与
exclude list.txt
文件位于同一目录中


因此,
.git
src
config.js
被跳过,没有被复制(就像我想要的那样),但其余的项目仍然被复制。我的语法有什么问题?(
local-*
应该是一个通配符,用于跳过所有以
local-
开头的文件)。

对我来说很好。@John1024奇怪。我正在通过ssh将gitlab ci部署作业部署到prod环境。这有什么关系吗?我对gitlab ci不太熟悉。我看不出ssh有什么不同。由于您使用的是跨机器,我建议您使用
exclude list.txt
文件检查编码或行尾问题。我希望@John1024的假设是正确的。您是否通过复制/粘贴方式填写了ther
exclude list.txt
?这样做时,您通常还会复制rsync会混淆的不可见字符。使用
cat-e exclude list.txt
将显示行尾和不可见字符。它以前不起作用,但现在起作用了。我没有改变任何事情:P