我似乎无法正确rsync
使用include
括号扩展。假设在我当前的目录中有三个文件test.py
,test.sh
和test.html
。我只想传输以.py
和结尾的文件.sh
。我试过:
rsync -zrv --include *.{py,sh} --exclude '*' . USER@SERVER:~
但这只会传输 python 文件。如果我交换括号中的顺序,{sh,py}
那么它只会传输 shell 脚本。
最后,如果我这样做
rsync -zrv --include *.sh --include *.py --exclude '*' . USER@SERVER:~
它可以正常传输两个文件。似乎它不喜欢括号扩展?
答案1
我怀疑 shell 无法正确解释它,请使用以下符号来提供多个扩展:
--include='*.'{py,sh}