![sed를 사용하여 문자열을 파일의 변수로 바꾸는 방법은 무엇입니까? [복사]](https://linux55.com/image/191697/sed%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%EB%AC%B8%EC%9E%90%EC%97%B4%EC%9D%84%20%ED%8C%8C%EC%9D%BC%EC%9D%98%20%EB%B3%80%EC%88%98%EB%A1%9C%20%EB%B0%94%EA%BE%B8%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
다음과 같은 텍스트가 포함된 파일이 있습니다.
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}"
두 번째 예에서 작은따옴표를 사용하면 변수가 올바르게 대체되지 않습니다.