Supondo que você tenha uma pasta chamada test, escreva um script de shell copytest
com o seguinte conteúdo:
#!/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
Agora torne-o executável com chmod u+x copytest
e cada vez que você chamar ./copytest
, receberá uma nova cópia chamada test<n>
.
Explicação:
-
[ -d test$i ]
verifica se já existe um teste de pasta $ i -
break
sai do loop infinito iniciado porwhile true
. - A décima primeira chamada excluirá todas as cópias e começará novamente com test1.
Isso faz o que você pediu em sua pergunta (crie mais e mais cópias do teste). Se você quer que as cópias "sigam" em cada chamada (ou seja, test10 é descartado, test9 torna-se test10, etc.) então você deve dar uma olhada no comando logrotate
como sugerido por @ Jean-Marie no primeiro comentário.