구성 파일을 업데이트하는 스크립트

구성 파일을 업데이트하는 스크립트

RHEL 7.0 시스템을 사용하고 있습니다. 다음 필드가 포함된 boot.cfg 파일이 있습니다.

bootstate=0 title=ESXi 설치 프로그램 로드 중 시간 초과=5 접두사=http://172.32.88.150/esxi65 커널=tboot.b00

kernelopt=mbr을 사용하여 족제비 형식 실행

boot.cfg 파일의 IP 주소를 어떻게 업데이트합니까?

이전에 다음 스크립트를 사용했습니다.

#!/bin/bash

sed '/[kernel=tboot.b00]/a [접두사=http://172.32.88.149/esxi65]/' 시작.cfg


업데이트된 IP 주소를 "커널..." 필드 끝에 추가하기 위해 sed를 사용하려고 합니다. 그러나 아무런 변화가 없었습니다.

둘째, IP 주소 변경 사항이 임시가 아닌 저장되었는지 확인하는 방법은 무엇입니까?

미리 감사드립니다

답변1

입력 파일

bootstate=0 title=Loading ESXi installer timeout=5 prefix=http://172.32.88.150/esxi65 kernel=tboot.b00

주문하다


sed -i  "s;kernel.*;&[prefix=http://172.32.88.149/esxi65];g" boot.cfg

위 명령을 실행하면 boot.cfg는 다음과 같습니다.

bootstate=0 title=Loading ESXi installer timeout=5 prefix=http://172.32.88.150/esxi65 kernel=tboot.b00[prefix=http://172.32.88.149/esxi65]

답변2

음, 두 번째 질문에 대한 답을 찾았습니다 http://brunolinux.com/02-The_Terminal/Find_and%20Replace_with_Sed.html

이전 필드를 추가하는 대신 접두사 필드를 완전히 바꾸거나 업데이트하려면 "이스케이프 문자"( \ )가 필요합니다. 수정된 코드는 다음과 같습니다.

sed -i 's;prefix.*;prefix=http://172.32.88.149/esxi65;g' boot.cfg

초기에 도움을 주신 kumar와 위 웹사이트에 감사드립니다!

관련 정보