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)