rsync 括号扩展不起作用

rsync 括号扩展不起作用

我似乎无法正确rsync使用include括号扩展。假设在我当前的目录中有三个文件test.pytest.shtest.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}

相关内容