Você não precisa de ; após then em then ;echo "{}" >>output.txt .
Uso:
then echo "{}" >>output.txt
Observe também que, em vez de tocar com {} , use os parâmetros posicionais do shell (não estou familiarizado com svn , por isso confie em seus comandos):
find /dir/containing/repos -maxdepth 2 -type d -exec bash -c 'if svnlook info /path/to/repo >/dev/null ;then echo "" >>output.txt ;svnadmin verify "" >>output.txt ;fi' _ {} \;
-
if svnlook info /path/to/repo >/dev/nullexecutará o comando e redirecionará o STDOUT para/dev/null -
Se o comando
svnlook info /path/to/repofor bem-sucedido (código de saída 0), os comandosecho "" >>output.txt ;svnadmin verify "" >>output.txtserão executados -
Aqui estamos usando os nomes dos diretórios
{}como o primeiro argumento () a ser processado pelo shell. -
_aqui é apenas um espaço reservado indicando o parâmetro posicional 0, poisbash -c commandcomeça a considerar qualquer argumento adicional após ocommanda partir de 0. Como_é o argumento zero, podemos usar{}como o primeiro argumento. Verifiqueman bashpara ter mais ideia.