![watch 명령을 사용하여 bash 스크립트를 실행하고 출력 파일을 모니터링하는 방법은 무엇입니까? [폐쇄]](https://linux55.com/image/148759/watch%20%EB%AA%85%EB%A0%B9%EC%9D%84%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20bash%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%A5%BC%20%EC%8B%A4%ED%96%89%ED%95%98%EA%B3%A0%20%EC%B6%9C%EB%A0%A5%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EB%AA%A8%EB%8B%88%ED%84%B0%EB%A7%81%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F%20%5B%ED%8F%90%EC%87%84%5D.png)
그래서 "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