xclip은 netcat으로 콘텐츠를 보내지 않습니다.

xclip은 netcat으로 콘텐츠를 보내지 않습니다.

선생님은 나에게 한 번에 하나의 숫자를 보내는 로봇을 이겨야 한다는 과제를 주셨는데, 나는 정확한 숫자를 보내야 했지만 더 빨리 보내야 했습니다. 나는 bash 스크립트를 작성했습니다:

#!/bin/bash
while true; do
  nc ip port | grep "try to beat me:" | cut -d " "  -f5 | xclip
  xclip -o 
done

문제는 xclip이 번호를 복사하지만 netcatb의 서버로 보내지 않는다는 것입니다. 이유는 무엇입니까?

답변1

대화형 모드를 사용하여 소켓을 통해 데이터를 보내고 받으려면 nc다음을 수행할 수 있습니다.

nc -c /path/to/your/script <host> <port>

들어오는 모든 nc데이터는 스크립트의 입력에 기록되고 스크립트의 출력은 소켓으로 전달됩니다.

이렇게 하면 스크립트에서 번호를 읽고 stdin직접 인쇄하여 다음 주소로 보낼 수 있습니다 nc.

#!/bin/bash
while true; do
  grep "try to beat me:" | cut -d " "  -f5 | xclip
  xclip -o 
done

답변2

나는 아마도 다음과 같은 것을 원할 것이라고 믿습니다.

#!/bin/bash
while true; do
  port=$(nc ip port | grep "try to beat me:" | cut -d " "  -f5)
  nc ip "$port" </dev/null
  sleep 1
done

관련 정보