本文主要是介绍shell脚本练习 :备份文件(2)修订,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在上一个小练习的基础上,加入一点要求,同时判断备份数个文件。其实是9个及以下的,下面是判断备份多个文件的脚本。刚刚进行了大量改进,去除了很多可以省略的语句,并将格式进行了规范书写(发表完发现TAB格式都被吞了。。空格格式也不明显。。),精简了程序,也让自己对SH脚本基本编程语法有了更深刻的映象。以后有时间练习写个能备份任意个文件的(要用到shift吧),还有我发现如果输入的文件名字错了或不存在,系统会提示不存在,但是我们应该在脚本里面加入这些提醒,有时间再练习写下更完善的。(不管有没有实际用处,对熟悉shell脚本总还是有帮助的。)
#!/bin/bash
if [ ! -d /opt/backup ] ;then
`mkdir /opt/backup`
echo “/opt/backup is created.”
fi
flist=`ls /opt/backp`
#结构和语法上更加的精简明确。上面语句查找/建立文件备份目录。
#下面在外层for循环下用变量bkup依次从位置变量取值。
forbkup
do
sig=yes
#给信号变量sig赋值,下面会用信号来判断是否需要备份。
for fileX in $flist
do
if [ $bkup = $flist ] ;then
echo "FILE $1 is found."
sig=no
#如果找到文件,就更该信号值,表示不需要备份了。
break
fi
done
if [ sig = yes ] ;then
`cp $1 /opt/backup`
echo "$1 is copied."
fi
#如果信号值sig没有改变,说明没找到文件,需要备份,在进入下次循环。找到则直接进入下次循环。
done
这篇关于shell脚本练习 :备份文件(2)修订的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!