Сценарий резервного копирования в bash - PullRequest
0 голосов
/ 26 апреля 2019

Мне нужно написать скрипт, который будет искать все файлы с суффиксом ~ (например, 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 Ответ

1 голос
/ 27 апреля 2019

Вы имеете в виду что-то подобное?

#!/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" \;
...