入力の特定の時間に特定の文字列を grep する必要があります。
trap "kill 0" EXIT SIGINT SIGTERM
RESULT=$(adb logcat MyTag:V *:S | grep -m 1 "Hello World") &
sleep 10
if [ "$RESULT" = "" ]; then
echo "Timeout!"
else
echo "found"
fi
トラップを使用すると、サブシェルは正しく強制終了されますが、grep が機能しなくなっていることがわかります。adb logcat
スクリプトの実行時に、サブシェルで実行されている唯一のプロセスです