我正在执行下面的脚本,但出现错误“ 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
为有效的变量名称,例如lasttag
或last_tag
。