作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在为 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
最佳答案
首先,你为什么不直接使用 rsync ?
如果你真的想自己做,我建议使用 getopt
或 getopts
做选项解析。然后您可以根据这些选项控制执行...
要使脚本可执行,您可以使用 chmod:$ chmod +x mySync
关于bash - 如何通过 "mySync leftdir rightdir"等特定命令使我的同步 bash 脚本可执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15325769/
我正在为 Ubuntu 中的 Unix 创建一个同步两个目录的 bash 脚本。 我已经编写了同步程序,但我面临的问题是我需要通过命令行调用我的脚本:“ mySync -r leftdir right
我是一名优秀的程序员,十分优秀!