2 つのディレクトリを同期する 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