Hvordan skrive et enkelt Bash -skript

How Write Simple Bash Script



Mange anser bash som et uavhengig ord. Svært få mennesker vet imidlertid at begrepet ‘bash’ faktisk står for Bourne Again Shell (BASh). Bortsett fra å være standard kommandolinjetolk for Linux-operativsystemet, er bash et fullverdig programmeringsspråk. De som er glad i å bruke Linux -operativsystemet må være godt klar over bash -skripting. For nybegynnere viser denne artikkelen imidlertid prosessen for å skrive et enkelt Bash -skript i Linux Mint 20.

Skriver et enkelt Bash -skript i Linux Mint 20

Ved å utføre følgende trinn kan du skrive et enkelt bash -skript i Linux Mint 20:







Opprett først et tomt dokument i hjemmekatalogen til Linux Mint 20 og gi det et navn du foretrekker, etterfulgt av .sh -utvidelsen. For vårt scenario har vi kalt dokumentet 'Bash.sh', som vist på bildet nedenfor:

Dobbeltklikk deretter på denne filen for å åpne den. Når filen er åpen, skriver du '#!/Bin/bash' som den første linjen i filen. Denne linjen legges til i hver bash -fil for å indikere at følgende kode vil være et bash -skript. Denne linjen er også vist i følgende bilde:

Etter å ha lagt til linjen ovenfor, skriver du et bash -skript for å vise en melding i terminalen. For å gjøre dette, bare skriv inn skriptet som vises på bildet nedenfor i bash -filen. I dette skriptet brukes kommandoen ‘ekko’ til å skrive ut en enkel melding i terminalen. Meldingen som skal vises, er alltid skrevet i inverterte kommaer i bash.

Når du har skrevet dette skriptet, bare lagre bash -filen og lukk den.
Nå må du utføre dette bash -skriptet. For å gjøre dette må du starte terminalen, som vist på følgende bilde:

Etter å ha lansert terminalen i Linux Mint 20, utfør det nyopprettede bash -skriptet med kommandoen vist nedenfor:



$bashFile.sh

Her må du oppgi hvilket navn du har gitt til bash -filen din for å erstatte begrepet ‘File.’ Vi har erstattet dette navnet med navnet ‘Bash.sh’, dvs. med navnet på bash -filen som vi har opprettet.

Etter at du har kjørt denne kommandoen, vil utdataene fra bash -skriptet vises i terminalen, som vist på bildet nedenfor:

Nå skal vi prøve å gjøre bash -skriptet vårt litt mer interaktivt. Det vil si at vi vil prøve å gjøre skriptet i stand til å ta innspill fra brukeren. For å gjøre dette, åpne bash -filen du nettopp har opprettet, og skriv inn skriptet som vises i bildet nedenfor.

I dette skriptet vil vi at brukeren skal oppgi navnet sitt. Når brukeren har skrevet inn navnet sitt via terminalen, blir navnet lagret i 'navn' -variabelen gjennom 'les' -kommandoen. Deretter vil vi vise en melding til brukeren mens vi adresserer brukeren med navnet han eller hun skrev inn. Her kan du få tilgang til verdien som er lagret i 'navn' -variabelen ved å sette et '$' -symbol foran den. Bruken av 'ekko' -kommandoen er allerede forklart i dybden i skriptet som ble opprettet ovenfor.



Utfør det nylig modifiserte bash -skriptet via terminalen. På grunn av endringen gjort ovenfor, vil terminalen be deg om å oppgi navnet ditt, som vist på bildet nedenfor:

Når du har oppgitt navnet ditt og trykket Enter, vil bash -skriptet vise deg en melding mens du adresserer deg med navnet ditt, som vist i følgende bilde:

Nå skal vi prøve å finjustere bash -skriptet vårt litt mer for å demonstrere for deg bruken av ‘date’ -kommandoen. Denne kommandoen brukes ganske enkelt til å bestemme gjeldende dato og klokkeslett. For å oppnå denne funksjonaliteten, skriv inn skriptet som vises på bildet nedenfor i bash -filen.

Den eneste forskjellen fra scriptet ovenfor er at vi denne gangen har opprettet en ny variabel, ‘date’, og har tilordnet ‘date’ -kommandoen som verdien. Når vi ønsker å lagre en kommando i en variabel i bash, er den kommandoen alltid innesluttet i parentes, og vi setter et '$' symbol foran kommandoen. Etter å ha lagret verdien av 'date' -kommandoen i 'date' -variabelen, har vi bare skrevet den ut i terminalen. Etter at du har gjort disse endringene, lagrer du bash -filen og lukker den.





Utfør det samme bash -skriptet igjen. Denne gangen, etter at du har angitt navnet ditt, vil terminalen også vise deg gjeldende dato og klokkeslett mens du adresserer deg med navnet ditt, som vist på følgende bilde:

Noen ganger vil du kanskje ikke at utdataene fra et bash -skript skal vises i terminalen; Eller rettere sagt, du vil kanskje at utdataene skal lagres i en annen fil. For å gjøre dette må du endre bash -skriptet igjen. Denne gangen trenger du bare å legge til '>>' -symbolet, etterfulgt av filnavnet der utgangen skal lagres, etter 'ekko' -kommandoen som opprinnelig ble brukt til å vise utgangen på terminalen. Kommandoen 'ekko', etterfulgt av '>>' symbolet og filnavnet, brukes til å lagre utdataene fra bash -skriptet til filen i stedet for å vise det i terminalen. I vårt tilfelle har vi navngitt utdatafilen ‘NewBashFile.txt’, som du kan bekrefte på bildet nedenfor:

Etter at du har gjort disse endringene, lagrer du filen og lukker den. Utfør denne bash -filen fra terminalen. Terminalen vil be deg om å skrive inn navnet ditt. Etter at du har skrevet inn navnet ditt, så snart du trykker på Enter -tasten, vil du ikke lenger kunne se noen utgang i terminalen, som vist på følgende bilde:

Gå nå til din hjemmekatalog. Her finner du en ny fil med navnet 'NewBashFile.txt', som fremhevet i bildet nedenfor:

Når du dobbeltklikker på denne filen for å starte den, vil du kunne se utdataene fra bash-skriptet som innholdet i denne tekstfilen, som vist i følgende bilde:

Alternativt kan du også utføre følgende kommando i terminalen for å se innholdet i denne utdatafilen:

$kattNewBashFile.txt


Når du utfører kommandoen vist ovenfor, vil du kunne se innholdet i filen i terminalen din:



Konklusjon

De forskjellige scenariene som er omtalt i metoden vist ovenfor er nok til å gi en start til de som er ivrige etter å lære bash -skripting. Ved hjelp av disse scenariene klarte vi å demonstrere metoden for å ta et input, vise utdataene, bruke bash -kommandoer og lagre utdataene fra et script til en ny fil. Imidlertid kan bash -programmering også brukes veldig praktisk for andre komplekse problemer.