Hvad er Shell-scripting, og hvorfor du skal bruge det

  • Michael Fisher
  • 0
  • 4761
  • 1080
Reklame

Skallen er et program i et Linux- eller Unix-operativsystem, som giver dig mulighed for at indtaste kommandoer til udførelse af systemet. Når et terminalvindue åbnes på en linux-computer, starter det shell-programmet, der præsenterer en grænseflade til indtastning af kommandoer. Denne grænseflade er kendt som kommandolinjegrænsefladen. Når en kommando indtastes, udføres den af ​​skallen, og output vises på skærmen.

Ud over at være i stand til at acceptere og udføre kommandoer interaktivt, kan shell også udføre kommandoer, der er gemt i en fil. Denne udførelsesform kaldes shell scripting, og i denne artikel dækker vi det grundlæggende i shell-scripting 5 grunde til, at du skal bruge PowerShell i stedet for batch-scripting 5 grunde til, at du skal bruge PowerShell i stedet for batch-scripting, PowerShell er, hvad du ville få, hvis du krydsede kommandoprompten med batch-scripting, kastede ind nogle ekstra funktioner og sparkede det hele op ad flere hak. Her er flere grunde til at du skal prøve det. .

1. Shellets historie

Begyndende med Unix i 1970'erne, var der et shell-program kaldet V6 Shell udviklet af Ken Thomson. Det var en interaktiv shell og manglede scriptingsevne.

Det blev fulgt af Bourne Shell i 1977 og forbliver i brug i dag som standardskal til rod konto. Denne skal tilføjede scripting-evner, som har vist sig yderst nyttige i praksis gennem årene.

Videreudvikling af skallen i 1980'erne gav anledning til mange populære skalvarianter, hvoraf de mest populære var C-Shell og Korn Shell. Hver af disse skaller bragte sin egen syntaks, som i visse tilfælde var drastisk forskellig fra den originale skal.

En af de mest populære skaller i dag er Bash Shell. Bash står for Bourne-Igen-Shell og er en meget forbedret variant af den originale Bourne Shell.

I denne artikel beskriver vi shell-scripting til Bash Shell En hurtig guide til Linux Bash Shell i Windows 10 En hurtig guide til Linux Bash Shell i Windows 10 Du kan nu køre Linux på Windows. Lær mere om Bash på Windows, fra hvordan og hvorfor du skal installere det, til skjulte funktioner, som du sandsynligvis ikke vidste om. .

2. Udførelse af et Shell-script

Hvordan udfører du et shell-script? Enkel. Giv bare scriptstien som et argument til shell:

Et eksempel på shell-script:

ekko "hej verden" 

Kør det som følger:

$ bash hej.sh # udskriver hej verden 

Bemærk: Skallen kræver, at linjer afsluttes med LF-tegn (Line-Feed). Hvis du skriver dit shell-script på Windows og prøver at udføre det direkte på et Linux-system, kan du opstå fejl. Windows bruger CR-LF-kombination (vogn-retur-linje-feed) til linjeafslutning. Dette skal kun konverteres til LF. Tjek din Windows-editor for, hvordan du gør dette.

Der er en anden måde at udføre et shell-script direkte som en kommando. Indsæt følgende linje (the hashbang erklæring) som den første linje i dit shell-script.

#! / Bin / bash 

Med denne ændring er vores enkle shell-script nu:

#! / bin / bash ekko "hej verden" 

Nu skal du gøre scriptfilen eksekverbar som følger:

$ chmod + x hej.sh 

På dette tidspunkt kan du udføre scriptfilen direkte uden at skulle henvise eksplicit til shell.

$ hello.sh # udskriver hej verden 

Lad os nu se på nogle fordele ved at bruge shell-scripts Hvad er CGI-scripts, og hvordan forbedrer de websteder? Hvad er CGI-scripts, og hvordan forbedrer de websteder? CGI står for Common Gateway Interface. Det er en standardprotokol for webservere til at udføre programmer og generere output til webbrowsere. Lær alt om CGI-scripts, og hvordan de kan forbedre dit websted. .

3. Opgaveautomation

Den første fordel ved at bruge shell-scripts er at automatisere ofte udførte opgaver 7 daglige opgaver, du ikke vidste, at du kunne automatisere på få minutter 7 daglige opgaver, du ikke vidste, at du kunne automatisere i få minutter Der er mange ting, du kan automatisere nu der sparer dig tid og giver dig mulighed for at fokusere på andre ting. Vi giver dig syv ting, du kan automatisere lige nu med de rigtige værktøjer. . Antag, at du har en opgave, som du har brug for at udføre hver dag. Hvis du har brug for at udføre flere kommandoer på dit linux-system hver dag, kan du gemme disse kommandoer i en fil og køre scriptet. Eksempler inkluderer:

  • Arkiver og upload en fil eller mappe hver dag til en cloud-lagerfacilitet Dropbox vs. Google Drive vs. OneDrive: Hvilken Cloud Storage er bedst for dig? Dropbox vs. Google Drive vs. OneDrive: Hvilken Cloud Storage er bedst for dig? Har du ændret den måde, du tænker på skyopbevaring? De populære indstillinger for Dropbox, Google Drive og OneDrive er sammen med andre. Vi hjælper dig med at svare på, hvilken cloud-lagringstjeneste du skal bruge. såsom S3.
  • Komprimere logfiler, der har tendens til at vokse hver dag.
  • Hent aktiekurser, analyserer de hentede data og udløser en e-mail eller SMS, når visse betingelser er opfyldt (for høje eller for lave priser).

4. Kombination af flere kommandoer

Ud over at automatisere hyppige opgaver, kan det også være en fordel, at du kan kombinere flere sekvenser med kommandoer til en enkelt kommando. At huske en enkelt kommando er meget enklere end flere kommandoer, for ikke at nævne rækkefølgen, i hvilken de skal udføres.

Et eksempel kunne være boot-up-sekvensen af ​​Linux-operativsystemet Kom godt i gang Vejledning til Linux Kom godt i gang Vejledning til Linux En begyndelsesvejledning til Linux! Du har sandsynligvis hørt om Linux, det gratis, open source-operativsystem, der har skubbet op mod Microsoft. sig selv. Som en del af opstart udfører operativsystemet et antal kommandoer for at få systemet til en ordentlig tilstand. Disse kommandoer er faktisk shell-scripts, der lever under /etc vejviser. Hvis du kigger på et af disse shell-scripts, vil du indse kompleksiteten ved at starte et system, som du måske har været nødt til at udføre for hånd i mangel af shell-scripts.

Følgende er et eksempel på shell-script, / Etc / profile, som udføres hver gang en bruger logger på. Forestil dig at skrive disse kommandoer manuelt!

# / etc / profile: systemdækkende .profilfil til Bourne-skallen (sh (1)) # og Bourne-kompatible skaller (bash (1), ksh (1), aske (1),…). hvis ["$ PS1"]; så hvis ["$ BASH"] && ["$ BASH"! = "/ bin / sh"]; derefter # Filen bash.bashrc indstiller allerede standard PS1. # PS1 = "\ h: \ w \ $" hvis [-f /etc/bash.bashrc]; derefter . /etc/bash.bashrc fi andet hvis ["'id -u'" -ækv 0]; derefter PS1 = "#" andet PS1 = "$" fi fi fi # Standard umask håndteres nu af pam_umask. # Se pam_umask (8) og /etc/login.defs. hvis [-d /etc/profile.d]; derefter for i i /etc/profile.d/*.sh; gør hvis [-r $ i]; derefter . $ i fi gjort uindstillet i fi 

5. Nemmere at udvikle

Det er muligt at udføre de samme handlinger som et shell-script i et almindeligt program skrevet i C / C ++. Det er dog langt nemmere at skrive og fejlsøge et shell-script end et C / C ++ -program. Især til systemadministrationsopgaver, der inkluderer udførelse af eksterne kommandoer, oprettelse og fjernelse af filer og mapper, omdirigering af output osv.

C / C ++ -programmer er bedre til et meget lavere driftsniveau, såsom at aktivere systemopkald, manipulere datastrukturer osv..

6. Gennemsigtighed

Et shell-script i kraft af at være en tekstfil kan let ses for at kontrollere, hvilke handlinger det udfører. I modsætning hertil er den eneste måde, du nogensinde vil vide, hvad et program skrevet på et sprog som C / C ++ (og kompileret til en eksekverbar) gør, hvis det vælger at fortælle dig det, eller hvis du har adgang til kildekoden. For eksempel kan du kontrollere, om et shell-script sletter nogen filer, og hvis du har brug for disse filer, kan du kopiere dem til et andet sted.

Det er også meget lettere at diagnosticere problemer med shell-scripts snarere end almindelige programmer, da du kan se på kildekoden. Fejler det script, fordi et bibliotek ikke findes? Du kan kigge i scriptkoden og oprette kataloget (skønt et velopdraget shell-script skal kontrollere og oprette det for at undgå sådanne fejl).

7. Bærbar

Et shell-script En hurtig guide til Linux Bash Shell i Windows 10 En hurtig guide til Linux Bash Shell i Windows 10 Du kan nu køre Linux på Windows. Lær mere om Bash på Windows, fra hvordan og hvorfor du skal installere det, til skjulte funktioner, som du sandsynligvis ikke vidste om. kan overføres til andre Unix- og Unix-lignende operativsystemer og udføres (hvis selve skallen er til stede). Selv når du overfører et shell-script fra forskellige arkitekturer såsom x86, MIPS, Sparc osv., Er shell-scripts meget mere bærbare end C / C ++ -programmer.

Den eneste måde et C / C ++ -program kan overføres og bruges på et andet system er at kopiere kildekoden, bygge programmet og forsøge at køre det. Selv da fungerer det muligvis ikke som forventet, hvis det bruger arkitekturspecifik kode.

Nu hvor du har en idé om, hvad shell-scripts er og deres mange fordele, ville du ikke gerne bruge dem til dine opgaver? Hvilke problemer har du stødt på, når du bruger dem? Fortæl os venligst i kommentarerne herunder.




Endnu ingen kommentarer

Om moderne teknologi, enkel og overkommelig.
Din guide i en verden af moderne teknologi. Lær hvordan du bruger de teknologier og gadgets, der omgiver os hver dag, og lær, hvordan du finder interessante ting på Internettet.