私は持っているこれリポジトリを 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
ただし、これによって奇妙なエラー メッセージがいくつか表示されるので、よりよい回答をお持ちの方がいらっしゃれば、喜んで受け入れます。