为了同步两个目录,我运行
diff -r -q path/to/dir1 path/to/dir2 1>/dev/null
if [[ $? == "0" ]]
then
echo "Directories are exact copies of each other"
else
rsync -av --delete path/to/dir1 path/to/dir2
fi
但是,如果再次运行脚本,diff 显示目录仍然不同。
然而,当创建两个空文件夹test
和时sync
,diff 表示它们是相同的。
答案1
你需要:
diff -r -q path/to/dir1 path/to/dir2/dir1 1>/dev/null
if [[ $? == "0" ]]
then
echo "Directories are exact copies of each other"
else
rsync -av --delete path/to/dir1 path/to/dir2
fi
因为 rsync 将创建一个新文件夹dir1
来dir2
真正保存整个dir1
文件夹而不仅仅是其内容。