Wie schreibe ich ein Skript, um alle Moksha-Module automatisch zu kompilieren und zu installieren?

Wie schreibe ich ein Skript, um alle Moksha-Module automatisch zu kompilieren und zu installieren?

Ich habeDasIch habe das Repository auf meiner Sabayon-Maschine geklont. Ich würde gern ein Skript schreiben, das in jedes Verzeichnis dieses Repositorys wechselt (nur die Verzeichnisse der obersten Ebene, nicht die Verzeichnisse innerhalb dieser Verzeichnisse) und es ausführt ./autogen.sh --prefix=/usr && make && sudo make install. Ich dachte, dass dieses Skript vielleicht das tut, was ich will:

for i in `find . -type d`
do
  pushd $i
  ./autogen.sh --prefix=/usr && make && sudo make install
  popd
done

aber das einzige Problem besteht darin, dass find . -type djedes Verzeichnis in diesem Repo angezeigt wird, einschließlich Verzeichnisse innerhalb von Verzeichnissen (z. B. zeigt es tclock/imagesdas imagesVerzeichnis innerhalb des tclockVerzeichnisses an), wenn ich nur die Verzeichnisse der obersten Ebene möchte (oder tclockim vorherigen Beispiel).

Antwort1

Ich habe festgestellt, dass dies funktioniert:

for i in `find . -maxdepth 1 -type d -exec basename {} \;`
do
  pushd $i
    ./autogen.sh --prefix=/usr && make && sudo make install
  popd
done

Allerdings treten dabei einige merkwürdige Fehlermeldungen auf. Wenn also jemand eine bessere Antwort hat, bin ich gerne bereit, sie anzunehmen.

verwandte Informationen