
뒤쪽에
% xkbset -repeatkeys
% xinput test 14 | grep -m 1 "key release 36"
예상대로 두 번째로 계속 돌아왔지만 아무 일도 일어나지 않았습니다. 두 번째 수익을 공개한 후 나는 다음과 같은 결과를 얻습니다.
key release 36
이제 프로그램이 즉시 종료되기를 원하지만 종료하기 전에 Shift가 작동하는 경우에도 추가 키 입력을 기다립니다. 나는 이것이 xinput이 추가 라인을 생성하게 한다고 생각하지만 이것이 왜 필요한지 이해하지 못합니다. grep은 이미 찾고 있던 라인을 찾았습니다. 그럼 지금 그만두는 게 어때요?
추신. 대답이 맞는 것 같고 다음을 수행하여 원하는 결과를 얻을 수 있었습니다.
% xinput test 14 | { grep -m 1 "key release 36" && killall xinput ; }
답변1
grep
첫 게임 이후에 그만둘 수도 있습니다. 여전히 실행 중 입니다 xinput
. 다음에 무언가를 출력하려고 시도할 때 파이프가 닫혀 있다는 것만 알아차립니다.
예를 들어 여기서는 첫 번째 pgrep만 실행 중인 grep
프로세스를 찾았지만 왼쪽의 절전 모드는 여전히 발생합니다.
$ ( pgrep grep >&2; echo xxx; pgrep grep >&2; sleep 3; echo yyy ) |grep -m1 xxx
29149
xxx