Eu testei isso, e o erro é devido ao segundo \;
:
# Works fine
find * -maxdepth 0 -type d -exec tar czvf {}.tar.gz {} \;
# Errors out
find * -maxdepth 0 -type d -exec tar czvf {}.tar.gz {} \; \;
Isso pode ocorrer porque o primeiro% escape;
encerra o comando para a opção -exec
e o segundo% escape;
agora se torna parte do comando find
e é tratado como um caminho. Isso gera um erro, pois a expressão -type
já foi lida.