如何运行在子目录上连续执行的 shell 命令?

如何运行在子目录上连续执行的 shell 命令?

我有一个目录,其中包含数百个子目录。结构如下:

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

现在我想执行一个以连续方式在子目录上执行的 shell 命令。就像首先在 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

但是你必须设置某种方式来退出循环,否则这个脚本的多个实例可能会使机器过载

相关内容