後ろに
% xkbset -repeatkeys
% xinput test 14 | grep -m 1 "key release 36"
期待どおりに二度目に戻ってきたが、何も起こらなかった。 2番目の収益を明らかにした後、私は次のような結果を得ます。
key release 36
プログラムはすぐにシャットダウンしたいのですが、シャットダウン前にShiftが機能していても、追加のキーストロークを待ちます。私はこれがxinputに追加の行を生成させると思いますが、なぜこれが必要なのかわかりません。 grepはすでに探していた行を見つけました。では、今やめるのはどうですか?
PS。答えが正しいようで、次のようにして目的の結果を得ることができました。
% 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