watch 명령을 사용하여 bash 스크립트를 실행하고 출력 파일을 모니터링하는 방법은 무엇입니까? [폐쇄]

watch 명령을 사용하여 bash 스크립트를 실행하고 출력 파일을 모니터링하는 방법은 무엇입니까? [폐쇄]

그래서 "tmp_output.txt"와 같은 출력 파일에 쓸 bash 스크립트 "example.sh"가 있습니다. (데이터가 이미 존재하는 경우 파일을 지우고 다시 작성합니다)

watch 명령을 사용하여 2초마다 "example.sh"를 실행하고 "tmp_output.txt"의 변경 사항을 보려면 어떻게 해야 합니까?

watch 명령은 bash 스크립트에서 사용해야 합니다.

답변1

watch기본적으로 명령은 셸을 통해 실행되므로 example.sh파일 쓰기가 무조건인 경우 스크립트를 실행한 다음 cat출력 파일을 실행하도록 할 수 있습니다.

watch 'example.sh; cat tmp_output.txt'

그러나 물론 스크립트를 표준 출력으로 인쇄하는 것이 더 유연한 경우가 많으므로 출력을 직접 보거나 필요한 경우 파일로 리디렉션할 수 있습니다.

watch 명령은 bash 스크립트에서 사용해야 합니다.

무슨 뜻인지 잘 모르겠습니다. watch무한정 실행되고 각 실행 중에 화면을 지우는 등의 점을 고려하면 비대화형 사용에는 실제로 적합하지 않습니다. 또한 watch스크립트 자체에서 스크립트를 실행하는 것은 약간 순환적입니다.

물론 스크립트에서 다음과 같은 작업을 수행할 수 있습니다.

while true; do 
    # do some work
    # write to tmp_output.txt etc.                      
    cat tmp_output.txt             # display it
    sleep 2                        # sleep and repeat
done

관련 정보