retry
与 配对时出现命令问题rsync
。 retry
是一个Debian 软件包,并声明它可以“重复命令,直到满足条件,通常会成功。”。rsync
尝试在有时会失败的连接上使用它。但是它总是给出相同的错误giving up: No such file or directory
::
retry '/usr/bin/rsync -av source destination'
retry: Could not execute 'rsync -av source destination', giving up: No such file or directory
source
和两者都destination
存在。我尝试过使用绝对路径、单引号和双引号、路径周围的引号以及路径作为变量,但都不起作用。我可以使用此解决方案中的方法,但在执行多个目录时相当麻烦。我有什么遗漏的吗?
问题是
retry
尝试执行一个名为'/usr/bin/rsync -av source destination'
(包括中间的空格)的文件。为了知道
retry
这rsync
是命令,并且-av
、source
、 和destination
是属于该rsync
命令的参数,您需要按以下方式运行它:--
您需要(双破折号)的原因是表示命令选项的结束和位置参数的开始。如果没有--
前面的命令,retry
会认为这-av
是它的命令选项之一,并会抛出以下错误:我在这里可以看到两个或三个问题。(感谢您提供的链接
retry
;我以前没有遇到过它。)目标命令被“像往常一样”解析,命令与其每个参数之间有空格。引用整个命令意味着
retry
将尝试将其作为不带任何参数的命令执行:这里的修复是避免引用整个命令及其参数。
删除引号仍然会产生错误,但这一次是因为
retry
尝试处理-av
用于 `rsync: 的参数:--
这里的修复方法是在特定的部分之后使用双破折号 ( )retry
,以便它停止尝试处理更多参数:运行此命令成功完成将导致您最终得到
src
以下结果dst
:如果您想要then
dst
的内容,src
请在 上添加尾部斜杠src/
: