【发布时间】:2022-11-26 22:37:54
【问题描述】:
我在下面有这段代码,它循环 xxx 变量中的所有字符,稍后它执行 rsync 以仅传输以该特定字符开头的文件。如果我的xxx 变量有 5 个字符,它会调用 rsync 5 次并且工作正常。
xxx="ABCDE"
for (( i=0; i<${#xxx}; i++ )); do
rsync --include="[\${xxx:$i:1}]*" /source /remote-destination
done
但是有一个问题:当它执行第一个rsync时,它询问我删除服务器的密码,然后它开始传输文件。只有在它完成所有文件的传输后,它才会第二次执行循环,再次询问我远程服务器的密码(没问题,我可以负担得起每次都输入密码)然后我需要等待传输发生所以它可以继续。
我希望循环继续,无需等待...我尝试在命令行末尾使用 & char 将其发送到后台,但是如果我这样做,我无法输入远程服务器的密码!
知道我该如何解决这个问题吗?我真的很想每次都自己输入密码,这不是问题。问题是,或者循环等待每个rsync 完成,或者如果我使用&,它会将密码提示发送到后台。
【问题讨论】:
标签: linux bash centos rsync scp