Ich versuche, einen svnadmin dump
Befehl für ein Sicherungsskript zu automatisieren , und möchte Folgendes tun:
find /var/svn/* \( ! -name dir -prune \) -type d -exec svnadmin dump {} > {}.svn \;
Dies scheint insofern zu funktionieren, als es jedes svn-Repository durchsucht /var/svn
und svnadmin dump
darauf ausgeführt wird.
Der zweite {}
im exec-Befehl wird jedoch nicht durch den Namen des verarbeiteten Verzeichnisses ersetzt. Es ergibt sich im Grunde nur eine einzelne Datei mit dem Namen {}.svn
.
Ich vermute, dass dies daran liegt, dass die Shell interpretiert >
, um den find
Befehl zu beenden , und versucht, stdout von diesem Befehl in die genannte Datei umzuleiten {}.svn
.
Irgendwelche Ideen?
linux
find
redirection
pkaeding
quelle
quelle
{}
als Argument zu übergebensh
und dann (innensh
) als"$0"
oder"$1"
oder so darauf zu verweisen .Nein, Sie können jedoch ein einfaches Bash-Skript schreiben, um dies zu tun, und es dann von find aus aufrufen.
Beispiel ( /tmp/dump.sh ):
dann:
quelle