サブディレクトリで継続的に実行されるシェルコマンドを実行するには?

サブディレクトリで継続的に実行されるシェルコマンドを実行するには?

何百ものサブディレクトリを持つディレクトリがあります。構造は次のとおりです。

directory ---> subdirectory_1 ---> file1
          |                  |---> file2
          ---> subdirectory_2 ---> file1
                             |---> file2
          |
          |
          ---> subdirectory_n --> more_files

それでは、サブディレクトリから順次実行されるシェルコマンドを実行したいと思います。 sd1、sd2、sd3の最初のものと同様に出力を提供します。その後、sd2、sd3、sd4、またはその逆。

これで、次のようにしてすべてのサブディレクトリでコマンドを実行できます。

'find some_string -maxdepth 1 -type d \( ! -name . \) -exec bash -c "cd \'{}\' && do something" \;'

しかし、一定の間隔で継続的に実行する方法が見つからないようです。どんな提案がありますか?

ベストアンサー1

次のようなループを作成できます。

while true
do
<your command>
sleep <some time to sleep between executions>
done

ただし、ループを終了する方法を設定する必要があります。そうしないと、このスクリプトの複数のインスタンスがシステムに過負荷になる可能性があります。

おすすめ記事