comando não encontrado atribuindo valor ao array no bash

0

Estou tentando atribuir um valor se a matriz em um determinado índice estiver vazia, mas estou recebendo um erro command not found .

while IFS=$';' read -r -a array
do

# if empty set Not Available
if [[ -z ${array[6]} ]] ; then
        $array[6]="Not Available"
        echo barcode is ${array[6]}
fi

  echo '  <Product>' >> $file_out
  echo '    <Reference>'${array[0]}'</Reference>' >> $file_out
  echo '    <Name>'${array[1]}'</Name>' >> $file_out
  echo '    <Category>'${array[2]}'</Category>' >> $file_out
  echo '    <Price>'${array[3]}'</Price>' >> $file_out
  echo '    <Scale>'${array[4]}'</Scale>' >> $file_out
  echo '    <Manufacture>'${array[5]}'</Manufacture>' >> $file_out
  echo '    <Barcode>'${array[6]}'</Barcode>' >> $file_out
  echo '    <DatePub>'${array[7]}'</DatePub>' >> $file_out
  echo '    <Image>'${array[8]}'</Image>' >> $file_out
  echo '    <Availability>'$availability'</Availability>' >> $file_out
  echo '    <Supplier>'$Supplier'</Supplier>' >> $file_out

echo '  </Product>' >> $file_out
done < $file_in

este código está funcionando, exceto pela "parte de atribuição de valor":

# if empty set Not Available
if [[ -z ${array[6]} ]] ; then
        $array[6]="Not Available"
        echo barcode is ${array[6]}
fi

Erro:

./convert-csv-to-xml: row 20: LM113A[6]=Not Available: command not found
barcode is

linha 20 é:

$array[6]="Not Available"
    
por Kintaro 10.08.2018 / 12:04

1 resposta

0

Não precisamos usar $ para atribuir uma string a um array.

Apenas tente com

array[6]="Not Available"
    
por 10.08.2018 / 12:09