
Ich möchte mehrere (>20) Unterverzeichnisse mit bereinigen make clean
. Ich habe an so etwas gedacht:
find ./ -type d -maxdepth 1 | xargs "make clean"
aber es funktioniert nicht. Können Sie mir bitte helfen?
Antwort1
Da Sie anscheinend nur in die unmittelbaren Unterverzeichnisse wechseln möchten, können Sie dies find
ganz vermeiden und jedes Verzeichnis einfach make clean
in einer Subshell ausführen, z. B.
for d in */; do (cd "$d" && make clean); done
Sie können bei Bedarf einen Test hinzufügen, um das Vorhandensein eines Makefiles zu prüfen . make
Wenn kein Makefile gefunden wird (oder kein clean
Ziel vorhanden ist), schlägt der Test jedoch ordnungsgemäß fehl.