Bouw uw programma stap voor stap met Shell Scripting - Deel 3

In eerdere vermeldingen in deze reeks publicaties hebben we ons herinnerd hoe we een:

Shell-scripts

En in eerdere versies, hoe u een Shebang en een BSM (Bash Strict Mode / Strict Bash Mode).

Best practices voor het maken van een Shell-script in GNU / Linux - Deel 1

Best practices voor het maken van een Shell-script in GNU / Linux - Deel 2

Hier is een voorbeeld van een Dubbele uitvoeringsmodule of mislukte uitvoeringen, als voorbeeld een van mijn programma's (applicaties) feiten in een Shell-script riep Linux Post Install - Bicentennial Script 8.0:

Dit zou de module (sectie) moeten zijn Om te valideren dat het script niet echt wordt uitgevoerd en daarom te voorkomen dat het twee keer wordt uitgevoerd, of niet de vorige keer dat het werd uitgevoerd, is het succesvol beëindigd. Ik voeg persoonlijk de volgende regels toe om deze module te maken:


###############################################################################
# INICIO DEL MODULO DE DETECCIÓN DE DOBLE EJECUCIÓN ó EJECUCIONES FALLIDAS
###############################################################################

if [[ -f  $UBICACION/$FILE_LOCK ]]; then

   setterm -background red
   echo "El Script no podrá ejecutarse!"
   echo "Debido a que el Archivo de Bloqueo de doble ejecución lo impide."
   sleep 5 ; exit 0

 else

  touch $UBICACION/$FILE_LOCK

fi

###############################################################################
# FINAL DEL MODULO DE DETECCIÓN DE DOBLE EJECUCIÓN ó EJECUCIONES FALLIDAS
###############################################################################

===============

aanbeveling:

DE REDACTIE VI

Ik voel dat veel voor gebruiksgemak, als het gaat om bewerk uw scripts via terminal moet de nano-editor die niet alleen heel gemakkelijk te manipuleren is, maar ook de meest gebruikelijke standaardopties heeft om de nodige bewerkingsprocessen uit te voeren in een gewoon tekstbestand, zoals de Shell-scriptMijn beste aanbeveling in dit geval is echter dat ze de Redacteur vi, dat niet alleen veel geavanceerder is, hoewel compleet, maar als het eenmaal onder de knie is, zal het de nodige methoden bieden om op een effectievere en efficiëntere manier wijzigingen of bewerkingen aan bestanden aan te brengen.

En otras palabras, Vi of Vim is een zeer nuttige bestandseditor, wat een grote flexibiliteit biedt bij het bewerken van scripts, het wijzigen van tekstbestanden, naast vele andere soorten bestanden, maar vooral bij het programmeren. Naar mijn mening is het een van de beste editors die er bestaat, maar zoals gewoonlijk, wanneer nano-gebruikers het beginnen te gebruiken en een andere gebruiksmethode zien, gebeurt het meestal zo radicaal «Of ze houden ervan of ze haten het. nu". Ik denk dat het de moeite waard is om te leren hoe je het moet gebruiken!

Zeker, op het eerste gezicht lijkt het misschien een onvriendelijke teksteditor en met een zeer moeilijke leercurve, maar dat eenmaal overwonnen, gebruikmakend van zijn basisfuncties, productiviteit stijgt op een zeer opmerkelijke manier.

Het is ook waar dat, Redacteur vi heeft of werkt mee Moeilijke snelkoppelingen en mist menu's of knoppen. Alles wordt gedaan opdrachten en snelkoppelingen die reeksen letters en tekens zijn. En dit is erg frustrerend voor veel gebruikers die het vergeten of niet gemakkelijk herinneren, het neemt echter heel weinig schijfruimte in en is aanwezig in vrijwel alle Linux of Unix die beschikbaar zijn. En omdat het een programma is dat in een tekstomgeving draait, is het handig voor toegang op afstand en bewerken via terminal. Daarom gaan we deze korte post gebruiken om u een kort overzicht te geven van het basisgebruik vanaf het begin, om die angst te verliezen en te zien hoe nuttig het is om het te leren gebruiken.

Door een beroep te doen op het Redacteur vi verschijnt op het scherm bewerkingsmodus. In deze modus wordt de positie van de cursor gemarkeerd en worden lege regels gemarkeerd met de karakter ~ en onder aan het scherm verschijnt het statusregel, die de naam van het bestand en het aantal tekens dat het bevat weergeeft. Als het Redacteur vi het pad en de naam van een bestand als parameter bij de prompt doorgeven, zal de inhoud ervan verschijnen. Als deze editor wordt uitgevoerd met de naam van een bestand dat niet bestaat, wordt deze automatisch gemaakt.

El Redacteur vi heeft twee werkingsmodi:

  • Bewerkingsmodus: Om tekst aan het bestand toe te voegen.
  • De opdrachtmodus: Om opdrachten in te voeren die specifieke functies vervullen.

Wanneer u doorgaat met het bewerken van een tekstbestand met de Redacteur viworden de wijzigingen er niet rechtstreeks op aangebracht. Maar eigenlijk zijn ze van toepassing op een kopie van hem dat de Redacteur vi creëren in een tijdelijke geheugenruimte genaamd buffer. Het eigenlijke bestand wordt alleen gewijzigd als de inhoud van de buffer is geschreven. Dit heeft zo zijn voor- en nadelen. Enerzijds betekent dit dat u kunt stoppen met het bewerken van een bestand en alle wijzigingen die tijdens een sessie zijn aangebracht, kunt negeren, waarbij de schijfkopie intact blijft. Aan de andere kant kan de ongeschreven inhoud van de taakbuffer verloren gaan als het systeem crasht. Het is het beste om uw werk regelmatig op te slaan, vooral wanneer u grote wijzigingen aanbrengt. Om het bestand dat wordt bewerkt op te slaan zonder het Redacteur vi, druk gewoon op het commando in de commandomodus :w

Om de uitvoering van het Redacteur vi verschillende methoden kunnen worden gebruikt, altijd in opdrachtmodus:

: q ->   Sluit de editor als er geen wijzigingen in het bestand zijn aangebracht.
: q! ->    Sluit de editor en negeer de wijzigingen in het bestand.
: wq ->   Sluit de editor en bewaar de wijzigingen in het bestand.

BELANGRIJK: U moet voorkomen dat u hetzelfde bestand bewerkt met meerdere sessies van het Redacteur vi tegelijkertijd openen, omdat er geen manier was om er zeker van te zijn wat de laatste kopie is die daadwerkelijk op schijf zal worden opgenomen.

In bewerkingsmodus: Wanneer de Redacteur vi, begint altijd in de opdrachtmodus, dus voordat je kunt tekst in het bestand toevoegen, wijzigen of verwijderen u moet een van de invoeropdrachten van de Redacteur vi, Zoals "I" (invoegen), om tekst in te voegen op de huidige cursorpositie, of "A" (toevoegen) om tekst in te voegen na de huidige cursorpositie. Terugkeren naar opdrachtmodus, druk gewoon op de toets "Esc". Als in een moment X u weet niet in welke modus u zich bevindt, simpelweg door op de toets te drukken "Esc" men zorgt ervoor dat hij binnen is opdrachtmodus, en u kunt terugkeren om door te gaan met het werk.

In opdrachtmodus: Wanneer u een bestand opent met de Redacteur vi, opent onmiddellijk in het opdrachtmodus. En in deze modus kan dat acties uitvoeren (commando's) die een breed scala aan functies. Veel van deze opdrachten bestaan ​​uit een of twee letters en een optioneel nummer gerelateerd aan verschillende functies. Bij veel opdrachten hoeft u de toets niet in te drukken Retourneren zodat ze worden uitgevoerd, maar alle orders die beginnen met een dubbele punt (:) moeten op de toets worden gedrukt Retourneren voor hen om te rennen.

BELANGRIJKSTE COMMANDO'S VAN DE EDITOR VI

De belangrijkste commando's van de Redacteur vi, afhankelijk van hun bruikbaarheid bij het bewerken van een document:

01. - Verplaats binnen het bestand
02. - Tekst toevoegen
03. - Wijzig tekst
04. - Wijzigingen ongedaan maken
05. - Tekst verwijderen
06.- Verplaats en / of kopieer tekst
07.- Voer opdrachten uit in EX-modus
08. - Zoeken en vervangen
09.- Dumping van inhoud van het ene bestand naar het andere
10.- Gelijktijdig bewerken van bestanden

BELANGRIJK: De commando's van de Redacteur vi ze kunnen worden voorafgegaan door een teller die aangeeft hoe vaak de bewerking moet worden herhaald. Bijvoorbeeld 3dd verwijder 3 regels, 2dw verwijder 2 woorden, en 4x verwijdert 4 tekens. Tellers kunnen ook worden gebruikt voor commando's om bijvoorbeeld over het scherm te bewegen 3w o 2Ctrl-F Druk op een “” de laatst uitgevoerde handeling wordt herhaald. Als een regel bijvoorbeeld is verwijderd en de volgende bewerking is om een ​​regel te verwijderen, drukt u gewoon op “”.

LET OP: Veel van de opdrachten van de Redacteur vi zijn hoofdlettergevoeligMet andere woorden, hetzelfde commando dat in hoofdletters of kleine letters wordt getypt, kan totaal verschillende effecten hebben.

Hoe dan ook, voor meer informatie kunt u op internet zoeken (Google of Youtube) informatie met betrekking tot Editor vi, die uitgebreid en overvloedig is aan literatuur en ondersteuning.

Ik laat je dit echter achter BEDRIEGINGSBLAD (BEDRIEGINGSBLAD) dat zal erg handig zijn om aan de slag te gaan in de Redacteur vi

select3b3n_002

select3b3n_001

Later zullen we in toekomstige berichten een voorbeeld blijven zien van modules (secties) die functies uitvoeren zoals:

  • OPTIMALISATIEMODULE
  • GEBRUIKERSAUTORISATIEMODULE MET WACHTWOORD
  • MODULE VOOR DETECTIE VAN DE ARCHITECTUUR VAN HET BESTURINGSSYSTEEM
  • CODERING TAALCONFIGURATIEMODULE
  • PROXY CONFIGURATIEMODULE VOOR DE UITVOERINGSOMGEVING

Onder vele anderen!

En zoals altijd raad ik aan ga autodidactisch leren over de commando's: gksu, dialoog, gxmessage, zenity, espeak, play, onder vele anderen om grafische interfaces te creëren per terminal of voor het bureaublad van de gebruiker, met sonische of multimedia-waarschuwingen, en voorkennis die ze later zullen gebruiken.

Onthoud dat deze en andere aanbevelingen voor sommige module, functie, variabele, commando of actie in het algemeen kan het worden uitgevoerd vele manieren, en wat hier wordt getoond is niets meer dan een simpele weg, Van de vele mogelijke en waarschijnlijke manieren waarin gezegd actie kan of zou kunnen worden uitgevoerd!

Om het af te maken verlaat ik je, a Screencast gemaakt door mij, om u te laten zien waartoe u in staat zou zijn, nadat u dit hebt voltooid Shell Scripting online cursus in DesdeLinux:

LPI-SB8 Test ScreenCast

(LINUX POST INSTALLEREN - BICENTENNIAL SCRIPT 8.0.0) - Deel 2


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.