シェルスクリプトがバックグラウンドで実行されている場合でも、押されたキーを検出するコマンドが必要です。
私が欲しいスクリプトは以下のコードととても似ています。
function key_pressed() {
#This function that detects the key which is pressed
#For example while the code runs in shell which is
#minimized and in background it must be detect 'q' key to quick.
#Also other programs run on foreground. And I press a key while
#it is in background so if it detects the key it will be finish
#the code and it will kill itself.
return 0;
}
while :
do
if key_pressed
then break
fi
//runs my codes
done
私が試したのは
-
しかし、これはバックグラウンドプロセスでは機能しません。
showkey -a|tee MY-TEST-FILE
と組み合わせてcat MY-TEST-FILE|sed -ne '$p'
しかし、これはリアルタイムでは機能せず、バックグラウンドでも機能しないため、結果は予想外です。