일부 출력을 제공하는 bash 스크립트가 있습니다. 그러나 때로는 출력에 오랜 시간이 걸릴 수도 있습니다. 5초 동안 출력 명령만 기다리는 것이 어떻게 가능합니까? 5초 이내에 출력이 없으면 bash-script-2를 실행합니다. 출력이 있으면 bash-script-1을 실행합니다.
웹에서 검색해 보았는데 관련 내용을 찾을 수 없었습니다.
답변1
출력을 로그 파일로 보낸 다음 tail -f
로그 파일을 제한 시간으로 보내고 무엇이든 일치시킵니다.
some-long-running-command > log-file &
if timeout 5 tail -f log-file | grep .
then
# grep found something before tail was killed
bash-script-1
else
# tail was killed before grep found anything
bash-script-2
fi
이것timeout
주문하다GNU coreutils에서.