我正在为 Ubuntu 中的 Unix 创建一个同步两个目录的 bash 脚本。
我已经编写了同步程序,但我面临的问题是我需要通过命令行调用我的脚本:“ mySync -r leftdir rightdir ”或“ mySync -i leftdir rightdir ”,我似乎没有让它工作。
-r (递归)将覆盖所有重复的文件夹。
-i 只有在用户同意的情况下才会覆盖重复的文件夹
问题是如何通过命令使我的脚本可执行?
如果选择了“-i”命令,我怎样才能让我的脚本在覆盖之前等待用户的接受?
在此先感谢您的帮助 。
代码是:
#!/bin/bash
echo "hello,the directory must be on the Desktop. "
read -p "Please enter your username: " x3
read -p "First directory name: " x1
read -p "Second directory name: " x2
dir1="/home/$x3/Desktop/$x1/"
dir2="/home/$x3/Desktop/$x2/"
if [ -d $dir2 ]; then
cd "$dir1"
find . -print0 | while read -d $'\0' file; do
[ -e "$dir2/$file" ] || echo "$file"
done
cp -rupv $dir2* $dir1
else
echo Path Not found.. Check network status
fi
if [ -d $dir1 ]; then
cd "$dir2"
find . -print0 | while read -d $'\0' file; do
[ -e "$dir1/$file" ] || echo "$file"
done
cp -rupv $dir1* $dir2
else
echo Path Not found.. Check network status
fi