Bash 스크립트에서 프로그램을 실행하고 스크립트의 출력을 읽는 방법은 무엇입니까?

Bash 스크립트에서 프로그램을 실행하고 스크립트의 출력을 읽는 방법은 무엇입니까?

정기적인 서버 유지 관리를 수행하기 위해 bash 스크립트를 작성 중입니다. 이 작업을 위해 실행하는 데 약 30분이 걸리고 몇 분마다 표준 출력에 쓰는 프로그램을 실행하고 있습니다. 프로그램에서 실시간으로 작성되는 이러한 줄을 처리하려면 스크립트가 필요합니다. 현재 다음과 같이 각 행을 처리하기 위해 read-while 루프를 사용하고 있습니다.

output=$($maintenance_command) 
while read -r line; do
    <processing logic>
done <<< "$output"

제대로 작동하지만 프로그램이 종료될 때까지 어떤 처리도 수행하지 않습니다. 이것을 백그라운드에서 실행하고 작성된 출력을 읽을 수 있는 방법이 있습니까?

답변1

실제 프로그램과 동일한 줄을 출력하는 Python 스크립트를 사용하여 이것을 테스트하고 있습니다. 하지만 실제 프로그램에서는 이러한 현상이 발생하지 않으므로 Python 스크립트의 문제임에 틀림이 없습니다.

관련 정보