Сценарий оболочки для копирования определенного файла от одной папки до другого с датой

Я хочу записать сценарий, которые ищут определенный файл в определенной папке. имя файла и местоположение будут, предопределяют в сценарии. Цикл будет работать, если файл будет существовать, то он скопирует тот файл в другое местоположение с датой на нем (это местоположение также будет, определяют), и если файл не будет существовать, то он даст всплывающее окно с "Файлом, не существует", я попробовал этим:

srcdir="/home/bmsc/HOME/oam/data"
dstdir="/home/bmsc/backup"
source=/home/bmsc/HOME/data/haguard.xml
destination=/home/bmsc/backup/
d=$(date +%m%d%y)

for srcfile in ${srcdir}/*
do
    dstfile=$(basename $srcfile)
    dstfile=${dstfile/\./${d}\.}
    cp "$source" "$dstdir/$dstfile"
done

Но его привыкание всех файлов в srcdir. Может любой помогать мне в этом.

0
задан 10 December 2014 в 05:14

2 ответа

Если Вы ищете определенный файл, почему выполненный цикл? Можно непосредственно протестировать на существование того файла:

if [[ -f $source ]]
then
    dstfile=$(basename "$source")
    ...
fi
1
ответ дан 6 October 2019 в 07:11
srcdir="/home/bmsc/HOME/oam/data"
dstdir="/home/bmsc/backup"
source=/home/bmsc/HOME/data/haguard.xml
destination=/home/bmsc/backup/
d=$(date +%m%d%y)

if [ -f $source]; then
      dstfile=$(basename $source)
      dstfile=${dstfile/\./${d}\.}
      cp "$source" "$dstdir/$dstfile"
fi
0
ответ дан 6 October 2019 в 07:11

Другие вопросы по тегам:

Похожие вопросы: