우분투에서 bash 스크립트를 통해 구성 파일 편집

우분투에서 bash 스크립트를 통해 구성 파일 편집

우분투에서 구성 파일을 편집하는 스크립트를 작성하려고 합니다.

/etc/sysctl.conf 파일에 대한 IP 전달 옵션을 활성화해야 합니다.

지금부터 이 줄을 편집해야 합니다

#net.ipv4.ip_forward = 0

이와 관련하여:

net.ipv4.ip_forward = 0

삭제"#"

스크립트로 할 수 있나요?

도와주셔서 감사합니다!

답변1

sed이를 수행하려면 스트림 편집기를 사용해야 합니다 .

sudo sed -i '/net\.ipv4\.ip_forward =/s/^#//' /etc/sysctl.conf

이 명령은 run을 사용하며 sudo편집이 필요합니다 /etc/sysctl.conf. 결과를 표준 출력으로 인쇄하는 대신 파일을 편집하기 sudo위해 호출됩니다 . 수정할 줄을 찾아 해당 줄의 첫 번째 문자인 경우에만 제거하는 정규 표현식입니다 .sed -i/net\.ipv4\.ip_forward =/s/^#//#

편집기에 대한 올바른 구문을 찾을 때 좋은 습관은 다음과 같습니다.아니요sed -i그냥 사용하기보다는 사용 sed하고 결과를 확인하세요.

또는 다른 안전망이 필요한 경우 sed -i.bak이를 실행하면 .bak접미사가 . 하지만 원본 파일과 동일한 디렉터리에 백업이 생성되기 때문에 사용 시 주의가 필요하며, 이로 인해 .d디렉터리(예: 다양한 디렉터리)의 모든 파일을 읽는 경우 등 다양한 상황에서 문제가 발생할 수 있습니다.

관련 정보