Não é possível armazenar a saída do comando na variável

1

Estou executando abaixo do script, mas recebo um erro " line 14: last-tag=TSTA-6: command not found ", ou seja, no momento em que tento armazenar a saída do comando na variável (TSTA-6 é a saída do comando). Alguma idéia de onde estou indo errado?

#!/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 "
    
por Lokesh 25.12.2015 / 18:23

1 resposta

7

O shell está procurando um comando chamado last-tag=TSTA-6 porque "last-tag" não é um nome de variável válido, portanto, quando o shell visualizar o traço - in last-tag , o shell começará a procurar um comando . Como nos comentários, altere last-tag para um nome de variável válido, como lasttag ou last_tag .

    
por 25.12.2015 / 18:33