Como há sempre um espaço em seus nomes de arquivos, incluo isso em seu comando:
rm "$(date +%F --date "Yesterday") "* # Removes old clips
Essa deve ser uma maneira fácil de evitar a exclusão de todos os arquivos no diretório, pois mesmo que date
não retorne nada, ele excluirá apenas os arquivos que começam com um caractere de espaço (que, esperamos, não existam).
No entanto, existem vários outros perigos, por exemplo
-
avimerge
pode falhar de alguma forma e você acaba excluindo arquivos que não foram mesclados ...
-
avimerge
pode levar um tempo considerável e no momento em que rm
é executado, ontem é hoje e você acaba excluindo as coisas erradas ...
Basicamente, é uma má idéia confiar cegamente em que esse comando fez o que você queria. Para a exclusão automática, você deve verificar e checar tudo e usar suas variáveis adequadamente.
Você deve colocar o resultado de date
em uma variável real, verificar com o que a variável se parece e, em seguida, usar a mesma variável para ambos os comandos, para que não seja possível mudar entre eles.
Você deve verificar os códigos de retorno (códigos de saída) dos comandos que você chama e somente prosseguir quando não houver erros retornados por eles (ou manipular especificamente os erros esperados).
Você deve verificar se o arquivo mesclado foi criado e se tem um tamanho de arquivo realista.