Як передавати вихід команди в sed


0

Моя команда sed в #Update ключ у файлі config. не отримує вміст змінної $ GETKEY Хтось мені допоможе?

  # 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*\).*$/\1$GETKEY/' Config

  fi

Відповіді:


1

Змінні не замінюються в межах одного лапки. Використання:

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

Раніше я -rзнімав необхідність виходити з дужок, але інші зворотні риски потрібно уникати в рамках одного лапки. В іншому випадку ви можете змішати цитати:

  sed -ri 's/^(KEY\s*=\s*).*$/\1'"$GETKEY/" Config
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.