上课的时候有个备份的shell脚本程序出错。所以自己编写了一个,很简单的一个脚本。在这个基础上其实还可以拓展一些额外的代码来实现文件的压缩,备份同名文件时是否询问删除以前备份的文件等。以下是自己写的代码:
if [ ! -d $HOME/backup ];then
mkdir $HOME/backup
fi
flist=`ls`
flist1=`ls $HOME/backup`
for file in $flist
do
ex=0
for a in $flist1
do
if [ $file = $a ]
then
ex=1
break
fi
done
if [ $ex -eq 1 ]
then
echo "$file is found"
else
cp $file $HOME/backup
echo "$file is copied"
fi
done
echo ok
他所实现的方法是先判断当前用户下是否有backup的目录,没有则创建一个。
接着吧当前目录下和backup的文件都以变量添加到flist和flist1下。
之后用2个for循环实现比对和复制,比对相同则显示文件 is found,不同则显示文件 is copied
当所有的操作执行玩之后显示ok
执行脚本:
当backup位空时,
当back有文件且相同时,
当前创建一个新文件后执行脚本,