스크립트 내부의 socat에 문자열 전달

스크립트 내부의 socat에 문자열 전달

결과를 기록할 수 있도록 내 애플리케이션에서 연결 문자열을 트리거하는 스크립트를 만들려고 합니다.

예를 들어, 내 애플리케이션에 성공적으로 연결하고 로그인할 수 있나요?

명령줄에서 다음을 실행할 수 있습니다.

conRes=$(echo -e -n "\0\x1\x01\x0\x0\x0\x0\x0" | socat STDIO tcp4:127.0.0.1:12345)

그런 다음 결과를 확인하십시오${conRes}

그때 내 애플리케이션을 보면 연결이 설정되고 연결 문자열이 적용되고 연결이 끊어지는 것을 볼 수 있습니다.

그러나 스크립트에 넣자마자 작동이 멈춥니다.

예를 들어

#!/bin/bash
    conRes=$(echo -e -n "\0\x1\x01\x0\x0\x0\x0\x0" | socat STDIO tcp4:127.0.0.1:12345)
    if [ "${conRes}" != "" ]; then
        echo "conRes Successful: ${conRes}"
    else
        echo "conRes Failed"
    fi

내 애플리케이션을 보면 연결과 연결 끊김을 볼 수 있지만 연결 문자열이 전송되고 있다는 징후는 없습니다.

이 작업을 수행하려면 추가로 수행해야 할 작업이 있나요?

답변1

내 질문에 답할 수 있을 것 같습니다.

내 문제는 다음을 사용하여 스크립트를 호출하는 것 같습니다.

sh test1.sh

간단히 이것을 변경하고 전화하면

./test1.sh

작동하는 것 같습니다. . .

관련 정보