sed를 사용하여 문자열을 파일의 변수로 바꾸는 방법은 무엇입니까? [복사]

sed를 사용하여 문자열을 파일의 변수로 바꾸는 방법은 무엇입니까? [복사]

다음과 같은 텍스트가 포함된 파일이 있습니다.

IP 주소="127.0.0.1"

127.0.0.1을 $ip_add 변수로 바꿔야 합니다. 여기서 $ip_add=127.0.0.2 다음 sed 명령이 작동하지 않습니다.

sed -i 's/127.0.0.1/$ip_add/' conf.py

이 명령을 실행하면 텍스트 파일은 다음과 같습니다.

ipaddress="$ip_address"

도와주세요. 미리 감사드립니다

답변1

따옴표 안에 변수를 사용하는 방법은 다음과 같습니다.

#!/bin/bash
export ip_add=192.168.1.10
echo "This is my ip: '$ip_add'"

또 다른 방법은 이렇습니다

#!/bin/bash
export ip_add=192.168.1.10
echo "This is my ip: ${ip_add}"

두 번째 예에서 작은따옴표를 사용하면 변수가 올바르게 대체되지 않습니다.

관련 정보