bash中的备份脚本

时间:2019-04-26 14:28:29

标签: linux bash shell loops

我需要编写一个脚本,该脚本将在当前目录中查找所有带有后缀〜(例如file.txt〜)的文件。如果脚本会找到某些内容,则应将其复制到BACKUP目录。

如果BACKUP目录不存在,则脚本应创建它。如果已经有一个名为BACKUP的文件(或其他非目录),则脚本应报告错误。

问题是在if [ $x -eq BACKUP.* ];行上。重击显示if [ $x -eq BACKUP.* ];

感谢任何帮助

#!/bin/bash
if [ ! -d BACKUP ]; 
then
    mkdir BACKUP;
fi
for x in *. *~ ; do
    if [ $x -eq BACKUP.* ]; 
    then
        echo "Error, file BACKUP exist";
    else
        cp ./$x ./BACKUP;
    fi
done

1 个答案:

答案 0 :(得分:1)

你的意思是那样的吗?

#!/bin/bash

BACKUP=./BACKUP

if [[ -e "$BACKUP" ]]; then
    echo "$BACKUP already exists!" >&2 
    exit 1
fi

mkdir "$BACKUP"
find . -maxdepth 1 -type f -name "*~" -exec cp {} "$BACKUP" \;