우분투에서 구성 파일을 편집하는 스크립트를 작성하려고 합니다.
/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
디렉터리(예: 다양한 디렉터리)의 모든 파일을 읽는 경우 등 다양한 상황에서 문제가 발생할 수 있습니다.