문제가있어 온라인에서 솔루션을 찾는 데 어려움이 있습니다. 내 코드는 로그 파일을 테일링하고 파일이 기록 될 때 netcat을 사용하여 외부 서버에 연결합니다.파이프 대 쉘 스크립트 문제
다음은 제 작업 코드의 간단한 예입니다. 나중에 문제를 설명하겠습니다.
# function that watches input for '$servertag' variable
serverwatch() {
while read data
do
if [ `strindex "$data" "$servertag"` -ge 0 ]; then
....
nc <server_ip> 1234
....
fi
done
}
# Tail the log file and pipe to functions
tail -f messages | serverwatch
연결이 성공적으로 설정되었지만 'messages'파일의 데이터가 netcat으로 파이프됩니다. 나는 데이터를 로컬에서 파싱하는 것을 기본으로하지만 netcat을 통해 데이터가 전송되는 것을 막을 방법을 모른다.
필자는 대부분의 DD-WRT 빌드에서이 작업을하고 싶어하므로 새 패키지를 설치하지 않으려 고합니다. 또한 bash는 내가 가지고있는 빌드에서 깨지거나 최소가되는 것처럼 보이므로 bash를 피하려고합니다.
이 문제와 관련하여 질문, 해결책 또는 다른 질문이 있으면 알려주십시오.
감사합니다,
제임스
감사합니다. 도움에 감사드립니다. 이 설치에서 netcat 패키지에 'd'플래그가 누락되어있는 것 같습니다. 'nc : invalid option --d'를 던지고있다. – James