이제 사용자가 웹 인터페이스를 통해 유사한 설정 파일을 수정할 수 있도록 인터페이스를 남겨두어야 합니다. 주요 방법은 PHP에서 리눅스 셸을 scrip{filter}t로 호출하는 것입니다. 따라서 이 설정 파일을 수정할 수 있는 리눅스 셸을 붙여넣으세요.
먼저, 구성 파일은 다음과 같이 포맷됩니다:
예시는 다음과 같습니다, config.ini:
구성 파일에는 3개의 유닛이 포함되어 있으며, 데이터베이스, 비즈니스, 오프라인; 각 유닛은 고유한 필드 이름과 필드 값을 가집니다.
위에서 언급한 블로그는 이러한 구성 파일을 읽을 수 있으며, 현재는 리눅스 셸을 통해 이 구성 파일을 수정할 예정입니다.
우리는 modify_config_file라는 프로그램을 설계하고 ./modify_config_file unit1-field1=changed_value1 unit2-field1=changed_value2 같은 형식으로 수정했습니다(필요에 따라 매개변수를 추가할 수 있습니다).
설정 파일을 수정하는 능력은 어렵지 않으며, 20-30줄만 있으면 문제를 해결할 수 있습니다. 하지만 "모든 입력은 해롭다"는 원칙에 따라, 사용자 매개변수 입력이 잘못될 경우 사용자에게 문제를 제때 상기시키고 위치를 파악하기 위해 다양한 내결함 처리를 추가해야 합니다. 다음은 셸의 원래 의도에 기반한 것으로, 물론 이름은 modify_config_file입니다:
사용자는 다음 명령어로 구성을 수정합니다:
출력은 다음과 같습니다:
그중 첫 번째 줄은 사업 단위가 위치한 라인 번호 구간을 나타내며, 개방 간격에 주의를 기울인다는 것을 나타냅니다; 두 번째 줄은 필드 라인 번호와 일치하는 모든 번호를 나타내며, 같은 필드의 여러 유닛이 있을 수 있기 때문입니다; 세 번째 줄은 최종적으로 단위 구간에 들어가는 필드 라인 번호를 나타냅니다; 네 번째 줄은 해당 행의 수정 결과를 나타냅니다.
또한, 사용자 입력이 형식에 부합하지 않을 가능성이 매우 높으며, 다음과 같은 오류가 보고되고 대상화될 것입니다:
다른 구성 파일에 적용하고 싶다면, 스크립트에서 구성 파일의 경로와 파일 이름을 수정해야 합니다:
|