명령 출력을 변수에 할당할 수 없습니다. [중복]

명령 출력을 변수에 할당할 수 없습니다. [중복]

다음 명령이 포함된 update.sh 파일이 있습니다.

shyaml get-value  platform < ~/mcp_version/latest-versions.yaml

터미널을 통해 명령을 실행할 수 있으며 스크립트에서도 명령을 실행할 수 있습니다.

다음은 스크립트 내용입니다

echo "The platform is $now"
echo "PATH is '$PATH'"
platform = $(shyaml get-value  platform < ~/mcp_version/latest-versions.yaml)
echo "The platform is $platform"
shyaml get-value  platform < ~/mcp_version/latest-versions.yaml

그러나 명령의 출력을 변수에 할당하려고 하면 오류가 발생합니다. ~처럼

./update.sh: line 12: platform: command not found

아래는 스크립트를 실행할 때의 출력입니다.

bash-4.2$ ./update.sh 
The platform is Fri Jul 12 11:57:25 IST 2019
PATH is '/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/usr/bin/:/usr/bin/shyaml'
./update.sh: line 12: platform: command not found
The platform is 
19.06.00bash-4.2$ 

답변1

정답은 @Prvt_Yadv의 첫 번째 댓글입니다.

동등 전후의 공백 제거

잘못된:

platform = something

옳은:

platform=something

관련 정보