我正在尝试从 bash 脚本运行多个 rsync 命令,但只有第一个触发。我试过将命令与&&和链接,;但都不起作用。
#! /bin/bash
rsync -ahPr --delete-excluded --exclude='.DS_Store' --exclude=Caches/ --ignore-errors --stats --log-file=$LOGFILE --files-from=$FILESFROM ~/$SOURCE /Volumes/$DEST &&
rsync -avh --progress ~/.profile /Volumes/$DEST/_profile/profile &&
rsync -avh --progress ~/.gitconfig /Volumes/$DEST/_profile/gitconfig &&
rsync -avh --progress ~/.ssh/ /Volumes/$DEST/_profile/ssh/ &&
rsync -avh --progress ~/.vim/ /Volumes/$DEST/_profile/vim/
Run Code Online (Sandbox Code Playgroud)
我将最后 4 个命令作为单独的命令执行,因为我正在动态重命名文件/目录 - 不确定是否有更好的方法来做到这一点?
我正在执行脚本bash -x myscript.sh以查看它是否出现任何错误,但没有。
跑步
rsync && rsync
将在第一个完成后启动第二个 rsync。你要
rsync&
解释:
a && b
a 运行,b 仅在 a 竞争成功后运行
a || b
a 运行,b 仅在 a 未成功完成时才运行下一个
a; b
无论成功,a运行,b接下来运行
a& b
a 运行,被发送到后台。这相当于运行 a,输入 ctrl-Z 和运行 bg
因此,如果您希望您的程序同时运行,请将 &&s 替换为单个 &
| 归档时间: |
|
| 查看次数: |
4283 次 |
| 最近记录: |