
다음과 같은 명령이 있습니다
iwevent
또는
tcpdump -n src 호스트 xxxx
어떤 일이 발생하면 stdout에 몇 줄을 보냅니다. 한 줄이 인쇄된 후 즉시 일부 명령을 실행하는 형태가 있습니까? 전:
iwevent | echo "Wireless event happened"
답변1
루프에서 stdin을 읽으십시오.
iwevent | while IFS= read -r line; do
echo "[$(date "+%F %T")] - $line"
done
루프 본문에서 수행하는 작업에 따라 다음을 원할 수 있습니다.
while IFS= read -r line; do
echo "[$(date "+%F %T")] - $line"
done < <(iwevent)
이는 파이프라인 사용으로 인한 암시적 하위 쉘 효과를 방지합니다.
답변2
무슨 뜻인지 잘 모르겠지만, 이 방향으로 뭔가가 있습니까?
while IFS= read -r line; do
printf "%s\n%s\n" "$line" "Yohooo! One more package."
done < <(tcpdump -i any -nS)