명령 출력을 sed로 전달하는 방법


0

구성 파일의 #Update 키에sed 명령이 있습니다. 변수 $ 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
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.