명령 출력을 변수에 저장할 수 없습니다.

명령 출력을 변수에 저장할 수 없습니다.

아래 스크립트를 실행하고 있지만 line 14: last-tag=TSTA-6: command not found명령 출력을 변수에 저장하려고 하면 " " 오류가 발생합니다(TSTA-6은 명령 출력입니다). 내가 잘못 가고있는 아이디어가 있습니까?

#!/bin/bash

echo "This script will remote trigger tagging job. Kindly provide Inputs"

release=-1

if [ -z "$1" ];then
 echo "Enter release number [In 3 digit format i.e. 20.0.0] "
 read release
else
 release="$1";
fi

 last-tag=$(svn ls -v https://abc.com/tags | sort -k1 | tail -1 | tr -s ' ' | cut -d' ' -f7 | cut -d'/' -f1)  
echo "release is: $last-tag "

답변1

"last-tag"가 유효한 변수 이름이 아니기 때문에 쉘은 이름이 지정된 명령을 찾고 있으므로 쉘이 에서 대시를 last-tag=TSTA-6확인하자마자 명령을 찾기 시작합니다. 주석에 표시된 대로 또는 와 같은 유효한 변수 이름으로 변경하십시오 .-last-taglast-taglasttaglast_tag

관련 정보