Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 13610|Antwoord: 1

[Linux] Een Linux-shell scrip{filter}t die het configuratiebestand wijzigt

[Link kopiëren]
Geplaatst op 19-03-2017 22:35:19 | | |
Nu moet je een interface laten zodat gebruikers vergelijkbare configuratiebestanden via de webinterface kunnen wijzigen; de belangrijkste manier is om de Linux-shell scrip{filter}t vanuit PHP aan te roepen, dus plak nu een Linux-shell die dit configuratiebestand kan wijzigen.

Ten eerste is het configuratiebestand als volgt opgemaakt:
Voorbeelden zijn als volgt, config.ini:

Het configuratiebestand bevat 3 eenheden, die 3 hoofdaspecten vertegenwoordigen: database, bedrijf, offline; Elke eenheid heeft zijn eigen veldnaam en veldwaarde.


De hierboven genoemde blog kan zo'n configuratiebestand lezen, en voorlopig gaan we dit configuratiebestand aanpassen via de Linux-shell.

We hebben een programma ontworpen genaamd modify_config_file en het aangepast met een formaat als ./modify_config_file unit1-field1=changed_value1 unit2-field1=changed_value2 (parameters kunnen indien nodig worden toegevoegd).

Het is niet moeilijk om het configuratiebestand te wijzigen; 20-30 regels kunnen het probleem oplossen. Echter, op basis van het principe van "alle invoer zijn schadelijk", is het noodzakelijk om verschillende fouttolerantie-verwerking aan de shell toe te voegen; als de gebruikersparameter verkeerd is, om de gebruiker op tijd te kunnen herinneren en het probleem te lokaliseren, is het volgende gebaseerd op zo'n oorspronkelijke bedoeling van de shell, uiteraard is de naam modify_config_file:


De gebruiker wijzigt de configuratie met het volgende commando:

De output is als volgt:

Onder hen geeft de eerste regel aan dat het regelnummerinterval waar de BUSINESS-eenheid zich bevindt, let op het openingsinterval; De tweede lijn vertegenwoordigt alle overeenkomsten met veldlijnnummers, aangezien er meerdere eenheden van hetzelfde veld kunnen zijn; De derde regel geeft het veldregelnummer aan dat uiteindelijk in het eenheidsinterval valt; De vierde regel vertegenwoordigt het resultaat van de herziening van de rij.

Daarnaast is het zeer waarschijnlijk dat de gebruikersinvoer niet overeenkomt met het formaat, en de volgende fouten zullen worden gerapporteerd en getarget:


Als je het wilt toepassen op andere configuratiebestanden, moet je het pad en de bestandsnaam van het configuratiebestand in het script aanpassen:







Vorig:.sh bestandsuitvoeringsfout: -bash: xxx: /bin/sh^M: slechte interpreter: Geen dergelijk bestand of direc...
Volgend:De shell wijzigt de parameterwaarden die gescheiden zijn door het gelijkteken.
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com