Eu tenhoesserepositório clonado em minha máquina Sabayon, o que eu gostaria de fazer é escrever um script que mudará para cada diretório deste repositório (apenas os diretórios de nível superior, não os diretórios dentro desses diretórios) e executar ./autogen.sh --prefix=/usr && make && sudo make install
. Eu estava pensando que talvez esse script faça o que eu quero:
for i in `find . -type d`
do
pushd $i
./autogen.sh --prefix=/usr && make && sudo make install
popd
done
mas, o único problema é que find . -type d
mostra todos os diretórios dentro deste repositório, incluindo diretórios dentro de diretórios (por exemplo, mostra tclock/images
, que é o images
diretório, dentro do tclock
diretório), quando eu quero apenas diretórios de nível superior (ou tclock
no exemplo anterior).
Responder1
Eu descobri que isso funciona:
for i in `find . -maxdepth 1 -type d -exec basename {} \;`
do
pushd $i
./autogen.sh --prefix=/usr && make && sudo make install
popd
done
embora algumas mensagens de erro estranhas surjam disso, então, se alguém tiver uma resposta melhor, estarei mais do que disposto a aceitá-la.