ucspi-tcp 패키지에서 tcpclient 사용에 대해 혼란스럽습니다.
저는 우분투를 사용하고 있으며 다음과 같이 ucspi-tcp를 설치했습니다.
apt install ucspi-tcp
그런 다음 tcpserver를 시작했습니다.
tcpserver localhost 10000 tee -a /tmp/test
tcpserver가 시작된 후 tcpclient를 사용하여 메시지를 보내려고 합니다.
tcpclient localhost 10000 echo "hello, JOJO" >&7
tcpclient 맨페이지에 따르면 출력을 fd 7로 리디렉션해야 한다고 생각했습니다.
tcpclient는 TCP 서버에 연결을 시도합니다. 성공하면 네트워크에서 설명자 6을 읽고 설명자 7을 네트워크에 기록하여 prog를 실행합니다.
그러나 나는 이것을 얻습니다 :
bash: 7: Bad file descriptor
메시지를 보내기 위해 tcpclient 명령을 수정하는 방법은 무엇입니까? 답변 감사드립니다^^
그런데
내가 nc
사용한다면
clay@CVN76:~$ nc localhost 10000
hello, JOJO
hello, JOJO
문서 내용시험예상대로 작동합니다.
답변1
tcpclient
파일 설명자 설정실행될 때. 호출 쉘에서 리디렉션을 시도하십시오 tcpclient
.앞으로 tcpclient
물론 도망쳐도 소용없겠지. 이러한 쉘 리디렉션을 수행할 때 파일 설명자 #7은 열리지 않습니다.
패키지의 finger@
, date@
및 스크립트를 확인하세요 http@
. 체인을 a(nother) 에 로드하는 who@
방법에 주목하세요 .tcpclient
sh
그 다음에쉘 리디렉션을 수행합니다.