수백 개의 하위 디렉터리가 있는 디렉터리가 있습니다. 구조는 다음과 같습니다.
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
하지만 루프를 종료하는 방법을 설정해야 합니다. 그렇지 않으면 이 스크립트의 여러 인스턴스가 시스템에 과부하를 줄 수 있습니다.