日期:2014-05-16  浏览次数:20587 次

编写一个小的Linux shell程序

备份用户指定的文件,将文件备份到目录文件名为_backup中(若目录不存在则自动建立),备份文件的文件名格式为文件名_bak_年月日_时分秒。
这是我做的,有点问题 文件格式名不对.

------解决方案--------------------
你的是“文件名_bak_”,不是“文件名_bak_年月日_时分秒”吧
“文件名_bak_年月日_时分秒”用$i_bak_`date +%Y%m%d_%H%M%S`


------解决方案--------------------
#!/bin/bash
dir=/_backup
bktime=`date +%Y%m%d_%H%M%S`

if [ ! -d ${dir} ]
then
    mkdir ${dir}
fi

for file in $*
do
    if [ -f ${file} ]
    then
        cp ${file} ${dir}/${file}_${bktime}
    else
        echo ${file} is not exist!
    fi
done
较好点的写法
备份文件的名字写成变量,判断文件夹是否存在的语句卸载循环外面