4 viktige Shell-skripttyper for Linux-nybegynnere (nyttig)

Innholdsfortegnelse:

Anonim

Bildekilde: pixabay.com

Shell Scripting i Linux - Datamaskiner forstår generelt språket til 0 og 1 som er kjent som et binært språk. For tiår siden pleide folk å skrive programmer og applikasjoner som til og med kalkulatorer på binære språk. Men det var ikke pent. Bare se for deg! Du vil beregne 73 + 96, hvordan vil du skrive? Du må heller beregne det binære heltallet for 73 og 96 og deretter legge dem til. En person må være ganske dum for å gjøre det. Man vil heller beregne 73 og 96 på et papir og gå videre. Men det er for den mindre delen. Hva om du må beregne noe sånt (19273/23 * (2967 3)). Jeg vil si nå at dette er ganske intenst.

Så det er ikke fornuftig at en indeal mann som lærer å kode alt på binært språk. Det er hovedgrunnen til at datamaskinene ikke var populære på 70- og 80-tallet. Men senere, selv før Windows ble utviklet, begynte folk å utvikle kjerner og lignende ting som var kjernen i operativsystemet. Kjernene som brukes til å forstå menneskelig lesbart format for et spesifikt program, og deretter konvertere det til maskinkode. Og det var her programmeringsspråk dukket opp og forandret hele epoken av dataverdenen. Applikasjoner ble bygget i C og C ++, og senere med Java, Python, Ruby og Perl.

Per nå er det mer enn 50 programmeringsspråk rundt. Og det er minst de jeg kjenner til. La si det faktum at det er andre programmeringsspråk som er enda vanskeligere å forstå enn maskinkode. Poenget mitt er eksempler som kyllingprogrammering og Malbolge. De er noen alvorlige ekle ting å takle.

Shell-programmering… .errr… scripting?

Nå lurer du kanskje på hvorfor jeg ikke har nevnt Shell-programmering ovenfor sammen med de andre programmeringsspråkene. Hovedårsaken til at Shell i seg selv ikke er et programmeringsspråk. Det er et skriptspråk. Shell er bare et interaktivt program for brukeren som tolker alle innspill fra brukeren og gir resultatet forutsatt at kommandoen er gyldig. Den overfører deretter programmet til kjernen for å utføre den. Shell er ikke en del av Kernel, men i stedet bruker den kjernen til å gjøre jobben sin med å utføre og opprette filer.

Typer Shell Scripting Program

Nå, i motsetning til C, C ++ eller Java, er det flere andre typer skjell som kan brukes til Shell Scripting. Følgende er de fire typer skall tilgjengelig frem til dato:

Nei.Shell TypeBeskrivelse
1.Bash alias Bourne Again ShellDette er det vanligste skallet som er tilgjengelig på alle Linux- og debian-baserte systemer. Det er åpen kildekode og freeware.
2.CSH eller C ShellDette Shell-skriptprogrammet bruker C-programmeringens shell-syntaks og er nesten lik C.
3.KSH eller Korn ShellKorn er et Unix-basert Shell-skriptsjonsprogram, opprinnelig basert på Bash Shell Scripting. Dette skallet er ganske avansert og det er et programmeringsspråk på høyt nivå.
4.tcshDet er ingen spesifikk fullform av TCSH. Det er som det er. TCSH er en avansert versjon av Berkeley Unix C shell. Det støtter igjen syntaks i C-stil

Når det gjelder i dag, er vi ikke interessert i alle de ovennevnte skjellene her. Vi er bare interessert i Bash-skallet, siden det er det mest brukte skallet i verden i dag.

The Bash Shell

Bash Shell-skriptprogrammet er et skriptspråk på høyt nivå, ligner det på python. Men hvis du har noen erfaring med Python før, vil du faktisk oppdage at Bash Shell Scripting er langt enklere enn noe annet skriptspråk. Man kan skrive skript i bash mye raskere enn i C, C ++, Java eller Python. Standardterminalen i dagens mest Linux-miljø, si for eksempel: - Ubuntu, Linux Mint Cinnamon / Rafaela, Fedora, Arch Linux eller et hvilket som helst annet debian-miljø består av Bash som standard Shell. Du kan imidlertid sjekke alle skallmiljøene i systemet ditt ved å skrive følgende i standardterminalen: -

$ katt / etc / skjell

(Merk: Dollartegnet i starten brukes til å skille inn en terminal.)

Kattens syntaks brukes til å lese tekstfiler. Typene shell scripting-programmer i et Linux-, Unix- eller Debian-miljø lagres i skallfilen i etc- katalogen. Hvert skall har sitt eget unike sett med syntakser og sitt eget sett med innebygde funksjoner. DOS eller windows har også sitt eget skall kjent som den beryktede 'kommandoprompten' eller 'powershell' fra windows 8.1 og utover, men det er fremdeles ikke så kraftig som bash. Kattens syntaks vil gi deg listen over skjell som er tilgjengelige i systemet, men for å finne standardskallet eller for å sjekke gjeldende ved bruk av skall, kan man bruke følgende syntaks i Shell Scripting Terminal: -

$ ekko $ SHELL

'Ekko'-syntaks brukes til å skrive ut en hvilken som helst setning. Her er 'SHELL' en variabel som er tildelt for å skrive ut det nåværende skallet. Dollartegnet etter 'ekko' brukes til å representere en variabel i Shell Scripting.

Anbefalte kurs

  • Sertifiseringskurs i Java Hibernate
  • Java vårkurs
  • WordPress Online Training
  • Ruby Training

Shell Scripting

Så nå, du vet hva et skall er, kan vi se på Shell Scripting og hvorfor det er kjent som det. Shell Scripting er ikke annet enn en kommandoserie i en enkel tekstfil som slutter med en utvidelse '.sh'. '.Sh' bestemmer at det er en kjørbar fil som skal kjøres. Etter å ha skrevet et shell-script, må man endre den kjørbare tillatelsen ved hjelp av 'chmod-funksjonen'. Som standard er ikke noe nyopprettet skall ikke kjørbart i UNIX eller Linux-miljøet med mindre tillatelsene endres spesifikt. Shell Scripting ligner nesten på Batch-programmering fra Windows, men forskjellen er at Shell Scripting er ganske kraftigere og gir mye mer avansert interaktivt miljø sammen med fanearbeid. Man må benytte seg av en god tekstredigerer for å skrive et shell script. Få bedre som jeg kjenner til er Vim, Gedit og Leafpad.

I motsetning til andre programmeringsspråk er Shell-skripter raskere å skrive og utføre. Du trenger ikke å laste ned noen spesifikke pakker eller avhengigheter for å utføre. De kan ikke bare brukes av en systemadministrator, men også av en vanlig person til å utføre automatiserte skript til daglig. Følgende er et enkelt eksempel på et manus skrevet her.

#! / bin / bash echo -e "Velkommen til det første shell-programmet. \ n" echo -e "Skriv noe her, og dette programmet vil skrive ut det samme. \ n" # spør brukeren om innlest leseinngang #leser inngangen fra brukerekko "Du lagt inn: $ input ” exit 0

La meg nå forklare alle parametrene i koden over. Først av alt, skriv koden ovenfor i en tekstfil i formatet 'as is' og lagre den med en utvidelse som slutter med '.sh'. Navngi for eksempel filen som 'main_program.sh'. Forsikre deg om at det ikke er 'main_program.sh.txt'. De fleste nybegynnere har en tendens til å gjøre det samme, og da er det ikke kjørbart. Når koden ovenfor er kopiert, kan du endre tillatelsene ved å bruke følgende syntaks i terminalen: -

$ chmod + x main_program.sh ELLER $ chmod 755 main_program.sh

Bruk gjerne en av de ovennevnte kommandoene siden begge gjør det samme. I de moderne bash shell-skriptprogrammene blir '755' endret til '+ x'; så det spiller ingen rolle hvilken du bruker faktisk. Når du har endret tillatelsene, skriver du inn følgende for å utføre det.

$. / main_program.sh

Perioden og skråstrek brukes til å identifisere og utføre skallskriptene. Når du har utført skriptet ovenfor, vil det skrive ut den første ekkoerklæringen og deretter be deg om å legge inn noe. Når du har skrevet den inn, vil den skrive ut den samme tingen tilbake til deg og gå ut av tolken. Så la meg forklare alle syntaksene ovenfor. '#! / Bin / bash' brukes til å fortelle tolken at dette er et bash-skript og at Bash shell-skriptingsprogrammet er lokalisert i 'bin' -katalogen. 'Echo' -kommandoen brukes til å skrive ut et hvilket som helst utsagn, og '-e' flagget brukes til å indikere skallet at det enten vil være en ny linje identifisert som en 'skråstrek n eller \ n' eller en fane-skråstrek t eller \ t 'eller liknende med det inne i ekkouttalelsen. Hash-delen på den andre linjen brukes til å identifisere en kommentar i et bash-skript. Uansett hva du skriver etter hasj blir kommentert og vil ikke bli henrettet. Men dette gjelder ikke '#! / Bin / bash' på første linje. Slik er manuset ment å fungere. Syntaxen "lest" brukes til å lese alle innspill fra brukeren. Og "input" jeg har nevnt etter syntaks "read", er variabelen som input fra brukeren er lagret i. Man kan bruke hvilken som helst variabel i stedet for inndata. På den nest siste linjen brukes $ -inngangen til å identifisere seg selv som en variabel og sende den lagrede inngangen inni den. Til slutt brukes exit-kommandoen for å forlate tolken med en ren exit null.

Uinteraktiv skripting

Nå er eksemplet over ganske ganske enkelt. Men det er innebygde moduler som du kan bruke i stedet for å gi alle inngangene selv. Følgende er et stykke kode, som skriver ut brukernavnet som for øyeblikket er logget på, gjeldende klokkeslett, kalenderdato og antall påloggings også: -

#! / bin / bash # Dette skriptet vil skrive ut gjeldende pålogget brukerinfo, antall brukere som er logget inn, dato, klokkeslett og kalender echo “Hallo, $ USER” echo “Dagens dato og klokkeslett er` date` ” echo“ Antall brukere logget inn: `hvem | wc -l` ”

ekko "Kalender"

cal

avkjørsel 0

Utfør dette skriptet etter å ha endret tillatelsene til filen ovenfor. Nå lurer du kanskje på at vi i forrige skript faktisk skrev inn input, og så returnerte det inndataene ved å bruke variabelen. Men her har vi ikke gitt noen innspill i variabelen 'US USER', og hvordan skriver det ut den eksakte brukeren. Hovedårsaken til at disse tingene allerede er konfigurert i systemet. Husker jeg fortalte deg om $ SHELL tidligere i starten, hvordan det er definert som standard? Ja, lignende er tilfelle med $ USER her. Når det gjelder datoen, vil du skrive ut nøyaktig dato og klokkeslett hvis du bare skriver inn 'dato' uten anførselsterminater i terminalen. Jeg brukte bare et enkelt sitat (`) for å identifisere seg selv som en syntaks snarere enn en del av gjensidig uttalelse. Enkelt sitatet (`) vil utføre alle syntaks som er trykt inne i det, det være seg i en uttalelse eller andre steder. Når det gjelder antall brukere, brukes "hvem" -kommandoen for å sjekke de nåværende brukerne som er logget på sammen med påloggede prosesser og dato og klokkeslett for når den ble startet. Men når det gjelder kommandoen ovenfor, har jeg faktisk avkortet den for bare å skrive ut antall brukere som er logget den med th 'wc-l' -kommandoen. Søylen (|) eller hva den er populært kjent som pipe, brukes til å kombinere to kommandoer. Pipen står faktisk for mye mer enn det, men jeg vil ikke gå i detalj her. Og til slutt skrev jeg ut kalenderen ved å bruke den kalde innebygde kommandoen for utskrift av gjeldende dato i kalenderen.

Utgangen null

Exit Zero er noe jeg ikke har forklart i noen av de ovennevnte skrevne programmene. Den viktigste grunnen til å være "Exit Zero" har mye større alvor for det enn noen av syntaksene ovenfor i Shell Scripting. Når du kjører et skript i en Linux- eller Unix-distribusjon, returnerer det som standard to typer verdier eller mer spesifikt avkjøringsstatusen for å sjekke om kjøringen av shell-skriptet er vellykket eller ikke. Hvis den returnerer verdien som null, var utførelsen vellykket, ellers ble den ikke utført, eller det var noe feil under utførelsen. Dermed kontrollerer du "exit 0" på slutten av et hvilket som helst skript kjørestatus for skriptet.

Alle tingene jeg har dekket her er bare den minst grunnleggende delen av Shell-skriptingen i Linux-distribusjonen. Utgangs nulldelen og røret spiller en viktig rolle når du utfører flere shell-skripter i Linux-kommandoer og bruker den sammen med betingede om og ellers uttalelser.

Relaterte artikler:-

Her er noen artikler som vil hjelpe deg med å få mer detaljert informasjon om Shell-skripttyper for Linux-nybegynnere, så bare gå gjennom lenken.

  1. Spørsmål om Shell Scripting-intervju | Topp 10 nyttige spørsmål
  2. Linux vs Windows - Finn ut de 9 mest fantastiske forskjellene
  3. Linux-intervju spørsmål og svar | Nyttig og mest spurt
  4. Karrierer i Linux-administrasjon
  5. Regler og forskrifter for Shell-skriptparametere