
나는 달리려고 노력하고있다.
WID=`xdotool search "Inbox" | head -1`
xdotool windowactivate $WID
xdotool key Up
표준 출력이 나올 때마다
$ CAMEL_DEBUG=all evolution
"유휴 시작"이 발생합니다.
나는 내가 원하는 것을 수행하는 이 스크립트를 생각해 냈지만 한 번만 "유휴 시작"이 표시될 때마다 수행하는 것이 아니라 한 번만 수행하고 중지합니다. 나는 bash를 끝없이 반복하도록 강요할 만큼 좋은 bash를 모릅니다.
exec 3< <(CAMEL_DEBUG=all evolution)
while read line; do
case "$line" in
*"starting idle"*)
echo "'$line' contains staring idle"
WID=`xdotool search "Inbox" | head -1`
xdotool windowactivate $WID
xdotool key Up
break
;;
*)
echo "'$line' does not contain starting idle."
;;
esac
done <&3
exec 3<&-
감사해요.
답변1
이 break
명령은 while
루프를 종료합니다. 그거 떨어 뜨려.
답변2
좀 더 복잡한 것을 시도해 볼 수도 있습니다. 먼저 출력을 evolution
파일로 리디렉션합니다.
CAMEL_DEBUG=all evolution > tmpout
while
그런 다음 파일을 읽고 문자열이 발견되면 반응하는 무한 루프를 만듭니다 .
#!/usr/bin/env bash
while true; do
while read line; do
case "$line" in
*"starting idle"*)
echo "'$line' contains staring idle"
WID=`xdotool search "Inbox" | head -1`
xdotool windowactivate $WID
xdotool key Up
break
;;
*)
echo "'$line' does not contain starting idle."
;;
esac
done < tmpout
done