У меня естьэтотрепозиторий клонирован на моей машине Sabayon, я хотел бы написать скрипт, который будет переходить в каждый каталог этого репозитория (только в каталоги верхнего уровня, а не в каталоги внутри этих каталогов) и запускать ./autogen.sh --prefix=/usr && make && sudo make install
. Я подумал, что, возможно, этот скрипт сделает то, что мне нужно:
for i in `find . -type d`
do
pushd $i
./autogen.sh --prefix=/usr && make && sudo make install
popd
done
но единственная проблема в том, что он find . -type d
показывает каждый каталог в этом репозитории, включая каталоги внутри каталогов (например, он показывает tclock/images
, то есть images
каталог, внутри tclock
каталога), когда мне нужны только каталоги верхнего уровня (или tclock
в предыдущем примере).
решение1
Я обнаружил, что это работает:
for i in `find . -maxdepth 1 -type d -exec basename {} \;`
do
pushd $i
./autogen.sh --prefix=/usr && make && sudo make install
popd
done
хотя при этом появляются некоторые странные сообщения об ошибках, так что если у кого-то есть лучший ответ, я буду более чем готов его принять.