Primeiro, observe que executar zip
a $(which zip)
é o mesmo que executar apenas zip
. O utilitário which
localiza um arquivo de programa no caminho do usuário.
Dado um arquivo Zip existente, zip
irá adicionar novos arquivos, substituir os arquivos existentes, mas não excluir os arquivos no arquivar se esses arquivos foram removidos do sistema de arquivos.
Para excluir um arquivo de um arquivo Zip:
$ zip -d archive.zip filename
Você pode, obviamente, apenas remover o arquivo com rm
antes de recriá-lo.
Para o seu script NodeJS, você pode usar
rm -f ../data.zip && zip -r ../data.zip .
O sinal -f
to rm
faz com que rm
não falhe se o arquivo não existir.