папка копии с практическими рекомендациями “тестирует” к другой папке с icreased номером test1, test2 test3

Я очень плохо знаком с этим, но успехами каждый день.

Я немного застреваю теперь...

То, что я хочу сделать, следующее:

Папка копии,/test к другой папке, названной тестом /

Но то, к чему я хотел бы сделать, - когда каждый раз я выполняю команду "копии", я хотел бы, чтобы она проверила, существует ли тестовая папка / уже, раз так увеличьте число на de имя папки, как/test1,/test2 и т.д. и т.д. и запустите, если, например, test10 достигнут.

Что лучший метод должен сделать это?

0
задан 18 February 2018 в 03:49

1 ответ

Принятие Вас имеет папку, названную тестом, пишет сценарий оболочки copytest со следующим содержанием:

#!/bin/bash

i=1
while true
do
    if [ -d test$i ]
    then
        i=$((i+1))
    else
        cp -r test test$i
        break
    fi
    if [ $i -eq 11 ]
    then
        rm -r test{1..10}
        cp -r test test1
        break
    fi
done

Теперь сделайте это исполняемым файлом с chmod u+x copytest и каждый раз Вы звоните ./copytest Вы получите новую названную копию test<n>.

Объяснение:

  • [ -d test$i ] проверки, существует ли уже test$i папки
  • break выходит из в других отношениях бесконечного цикла, инициируемого while true.
  • Одиннадцатый вызов удалит все копии и начнется снова с test1.

Это делает то, что Вы попросили в Вашем вопросе (создайте все больше копий теста). Если Вы хотите, чтобы копии "шли дальше" в каждом вызове (т.е. test10 отбрасывается, test9 становится test10, и т.д.), затем, необходимо смотреть на logrotate управляйте, как предложено @Jean-Marie в первом комментарии.

1
ответ дан 31 October 2019 в 00:04

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

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