하위 디렉토리에서 지속적으로 실행되는 쉘 명령을 실행하는 방법은 무엇입니까?

하위 디렉토리에서 지속적으로 실행되는 쉘 명령을 실행하는 방법은 무엇입니까?

수백 개의 하위 디렉터리가 있는 디렉터리가 있습니다. 구조는 다음과 같습니다.

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

하지만 루프를 종료하는 방법을 설정해야 합니다. 그렇지 않으면 이 스크립트의 여러 인스턴스가 시스템에 과부하를 줄 수 있습니다.

관련 정보