2017-11-29 9 views
-2

다음과 같은 루프를 작성하여 60 초마다 "문자열"이 파일 (파일 경로와 문자열 생략)에 나타나는 시간을 출력합니다.IF 문을 while 루프로 구현하고 while 루프를 무기한 실행하는 동안 어떻게 유지합니까? (Bash)

while true; do /path/to/file | grep -i "string" | wc -l; sleep 60; done 

출력이 100 이상되면 어떻게 이메일을 보낼 수 있도록 IF 문을 구현하는 가장/가장 쉬운 방법은 무엇입니까. while 루프를 무기한으로 계속 실행해야합니다.

답변

0

if 문을 포함하는 다른 명령으로 직접 파이프 할 수 있다는 이점을 이용할 수 있습니다.

while true; do 
    /path/to/file | grep -i "string" | wc -l | { 
    read count 
    if [[ $count -gt 100 ]]; then 
     send_email 
    fi 
    echo "$count" 
    } 
done