내 Ubuntu 서버에 웹 서버를 설치하기위한 bash 스크립트가 있습니다.
/etc/apache2/apache2.conf에서 대체하고 싶습니다.
#ServerRoot "/etc/apache2"
#
으로
#ServerRoot "/etc/apache2"
ServerName localhost
#
만약 내가한다면
sed -i 's|#ServerRoot "/etc/apache2"|#ServerRoot "/etc/apache2"\nServerName localhost|' /etc/apache2/apache2.conf
작동하지만 스크립트가 두 번 실행되는 경우 ServerName을 두 번 추가하지 않도록 #ServerRoot 뒤에 빈 줄과 #을 포함하고 싶습니다.
나는 시도했다
sed -i 's|#ServerRoot "/etc/apache2"\n\n#|#ServerRoot "/etc/apache2"\nServerName localhost\n\n#|' /etc/apache2/apache2.conf
하지만 작동하지 않습니다.
어때
#ServerRoot "/etc/apache2"
ServerName localhost
합니다 .합치면
sed -i '\|#ServerRoot "/etc/apache2"| {N;s|\n$|\nServerName localhost|}' /etc/apache2/apache2.conf
'빈'줄에 실제로 공백이 포함 된 경우이를 수정하여
sed -i '\|#ServerRoot "/etc/apache2"| {N;s|\n\s*$|\nServerName localhost|}' /etc/apache2/apache2.conf
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다