无法将命令输出存储在变量中

无法将命令输出存储在变量中

我正在执行下面的脚本,但出现错误“ 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

shell 正在查找名为的命令,last-tag=TSTA-6因为“last-tag”不是有效的变量名,因此一旦 shell 看到-中的破折号last-tag,shell 就会开始查找命令。如注释中所示,更改last-tag为有效的变量名称,例如lasttaglast_tag

相关内容