cfg
파일의 설정을 읽고 쓰는 쉘 스크립트를 사용하여 Linux에서 구성 파일을 관리해야합니다. 나는 내 스크립트에 사용 된 기존 구성 파일에 key
의 새 value
을 작성하는 다음 기능을 가지고 있습니다.쉘 스크립트를 통해 sed를 사용하여 구성 파일 관리
set_setting() {
sed -i "s/$1=[^ ]*/$1=$2/" $3
}
사용법 :
set_setting keyname NewValue /home/Config.cfg
는 따라서,이 NewValue
에 Config.cfg
에 keyname
의 값을 대체 할 것이다.
또한 source
명령을 사용하여 구성 파일을 읽는 기능이 get_setting
입니다. 비슷하게 두 개의 매개 변수 keyname
과 원본 구성 파일을 받아들이고 제공된 키의 value
을 반환합니다.
이제 문제는 구성 파일이 다음과 같습니다.
name=Abc
surname=Xyz
내가 set_setting name Def /home/Config.cfg
으로 set_setting
함수를 호출 할 때, 이상적으로는 Def
에 Abc
에서 name
의 값을 변경해야하지만, 키 name
의 값을 변경과 함께, 또한 얻어진 Def
에 Xyz
에서 surname
의 값을 변경 구성 파일에서 다음을 수행하십시오. 예상 name
의 값이 변경되면서
name=Def
surname=Def
나는 이것이 내가 surnames
에 키 surname
을 변경하는 경우와 같이, 두 키에서 일반적인 용어 "이름"을 가진 때문이다 의심, 그것은했다. 또한 키의 값은 공백 이외의 다른 값이 될 수 있습니다.
저는 쉘 스크립팅을 처음 접했고 최근에 sed
명령을 발견했습니다.
나는 또한 this 및 this 질문을 참조했습니다. 둘 다 매우 도움이되었지만, 나는 위에서 언급 한 상황에 처해있다.
바보 같았습니다. :-) 많이 고마워! – Kushal