netcat 출력을 변수에 저장

netcat 출력을 변수에 저장

netcat 함수의 출력을 변수에 저장하고 싶습니다. 나는 많은 다른 것들을 시도했지만 그것은 나에게 효과가 없었습니다. 누구든지 나를 도와줄 수 있나요? 이 모든 스크립팅 작업은 나에게 완전히 새로운 것이었습니다!

#! /bin/sh

while true;do
        var = "$(echo "RDTEMP1" | netcat -q2 sanderpi 5033)"
        echo &(var)
        echo "$(date +%Y-%m-%d%t%H:%M:%S)"
done

답변1

셸에서는 다음과 같은 방법으로 변수를 설정할 수 있습니다.

var1=toto
var2="$(echo toto | othercommand)"

변수 이름, 등호 문자, 변수에 할당된 값 사이에는 공백이 있어서는 안 됩니다.

그런 다음 변수를 에코하려면 다음을 수행할 수 있습니다.

echo $var
echo "$var"
echo "${var}"

bash/sh에서 이 &문자는 또 다른 주제인 "Job Control"에 사용됩니다.

다음을 사용하여 어떻게 진행되는지 알려주십시오.

#! /bin/sh

while true;do
    var="$(echo "RDTEMP1" | netcat -q2 sanderpi 5033)"
    echo "$var"
    echo "$(date +%Y-%m-%d%t%H:%M:%S)"
done

답변2

셸의 변수 할당에는 할당 문자(예: =) 주위에 공백이 필요하지 않습니다.

옳은:

var=$(frobnify xyz)

잘못된:

var = $(frobnify xyz)

관련 정보