0

我有以下脚本:

#!/bin/bash        
PATH=...
echo 'Syncing database dumps'
rsync ssh user@XX.XXX.XXX.XX:/test/ /test
echo 'Creating symlink'
ln -s test /tmp/test

只运行第一个命令和所有回显。如果我注释掉第一个命令,则运行符号链接命令:

#!/bin/bash        
PATH=...
echo 'Syncing database dumps'
#rsync ssh user@XX.XXX.XXX.XX:/test/ /test
echo 'Creating symlink'
ln -s /test /tmp/test

其余的不运行。任何想法为什么?

编辑根据最近的评论,在符号链接命令中添加了 -v 选项。现在我可以看到所有命令都运行了。但是它们不会按照设置的顺序运行。符号链接命令将在 rsync 命令完成之前运行。如何设置顺序以便符号链接命令仅在 rsync 命令完成后运行?

4

1 回答 1

2

试试 rsync 的 --blocking-io 选项,即

rsync ssh --blocking-io user@XX.XXX.XXX.XX:/test/ /test

或者,如果您的协议仍然是 ssh,您可以使用 scp

scp user@XX.XXX.XXX.XX:/test/ /test
于 2012-12-02T12:03:00.660 回答