Como passar a saída do comando para sed

0

Meu comando sed em #Update key no arquivo de configuração. não obtém o conteúdo da variável $ GETKEY Alguém me ajuda?

  # Get key from output of the website.
  GETKEY='wget https://www.badips.com/get/key -qO - | awk {'print $9'} | cut -d ":" -f3 | cut -d "}" -f1 | sed 's/\"//g''
  if [ $? -eq 0 ]
  then

      # Update key in config file.    
      sed -i 's/^\(KEY\s*=\s*\).*$/$GETKEY/' Config

  fi
    
por Rui Branco 17.08.2014 / 02:36

1 resposta

1

As variáveis não são substituídas entre aspas simples. Use:

  sed -ri "s/^(KEY\s*=\s*).*$/\1$GETKEY/" Config

Eu usei -r para remover a necessidade de escapar dos parênteses, mas as outras barras invertidas precisam ser escapadas entre aspas simples. Caso contrário, você pode misturar aspas:

  sed -ri 's/^(KEY\s*=\s*).*$/'"$GETKEY/" Config
    
por 17.08.2014 / 04:09