Vad är Shell Scripting och varför ska du använda den

Vad är Shell Scripting och varför ska du använda den / Programmering

Skalet är ett program inom ett Linux- eller Unix-operativsystem som låter dig komma in i kommandon för att exekvera systemet. När ett terminalfönster öppnas på en Linux-dator startar det shell-programmet som presenterar ett gränssnitt för att komma in i kommandon. Detta gränssnitt är känt som kommandoradsgränssnittet. När ett kommando är inmatat utförs det av skalet och utmatningen visas på skärmen.

Förutom att kunna acceptera och exekvera kommandon interaktivt kan skalet också utföra kommandon som är lagrade i en fil. Detta utförande sätt kallas skalskriptning, och i den här artikeln täcker vi grunderna för skalskriptning. 5 Skäl du bör använda PowerShell i stället för batchskripting. 5 Skäl du bör använda PowerShell I stället för batchskripting PowerShell är vad du skulle få om du korsade kommandotolkningen med Batch Scripting, kastade in några extra funktioner, och sparkade allt upp flera skåror. Här är flera skäl att du ska försöka. Läs mer .

1. Skelets historia

Börja med Unix på 1970-talet var det ett skalprogram som heter V6 Shell utvecklad av Ken Thomson. Det var ett interaktivt skal och saknade skriptsförmåga.

Det följdes av Bourne Shell 1977 och är fortfarande i bruk idag som standardskalet för rot konto. Detta skal tillförde skriptförmågor som har visat sig vara mycket användbara i praktiken genom åren.

Ytterligare utveckling av skalet på 1980-talet gav upphov till många populära skalvarianter, varav de mest populära var de C-Shell och den Korn Shell. Var och en av dessa skal har sin egen syntax, som i vissa fall var väsentligt annorlunda än det ursprungliga skalet.

En av de mest populära skalen idag är Bash Shell. Bash står för Bourne-Again-Shell och är en väldigt förbättrad variant av det ursprungliga Bourne Shell.

I den här artikeln beskriver vi skalskriptor för Bash Shell En snabbguide till Linux Bash Shell i Windows 10 En snabb guide till Linux Bash Shell i Windows 10 Du kan nu köra Linux på Windows. Läs mer om Bash på Windows, från hur och varför du ska installera den, till dolda funktioner som du förmodligen inte visste om. Läs mer .

2. Utför en Shell Script

Hur utför du ett skalskript? Enkel. Passera bara skriptvägen som ett argument till skalet:

Ett exempel på skalskript:

eko "hej världen" 

Kör det enligt följande:

$ bash hej.sh # skriv ut hej världen 

Notera: Skalet kräver att linjer avslutas med LF-tecken (Line-Feed). Om du skriver ditt skalskript i Windows och försöker att utföra det direkt på ett Linux-system, kan det hända att du stöter på fel. Windows använder CR-LF-kombination (Carriage-Return-Line-Feed) för linjeavslutning. Detta behöver bara konverteras till LF. Kontrollera din Windows-editor för sätt att göra detta.

Det finns ett annat sätt att exekvera ett skalskript direkt som ett kommando. Sätt in följande rad (the hashbang deklaration) som första raden i ditt skalskript.

#! / Bin / bash 

Med denna ändring är vårt enkla skalskript nu:

#! / bin / bash echo "hej världen" 

Nu måste du göra skriptfilen körbar enligt följande:

$ chmod + x hej.sh 

Vid denna punkt kan du exekvera skriptfilen direkt utan att behöva hänvisa till skalet explicit.

$ hej.sh # skriv ut hej världen 

Låt oss nu titta på några fördelar med att använda skalskript Vad är CGI-skript och hur förbättrar de webbplatser? Vad är CGI-skript och hur förbättrar de webbplatser? CGI står för Common Gateway Interface. Det är ett standardprotokoll för webbservrar att utföra program och generera produktionen för webbläsare. Lär dig allt om CGI-skript och hur de kan förbättra din webbplats. Läs mer .

3. Uppgift Automation

Den första fördelen med att använda skalskript är att automatisera ofta genomförda uppgifter 7 Dagliga uppgifter du visste inte att du kunde automatisera om några minuter 7 Dagliga uppgifter du visste inte att du kunde automatisera om några minuter Det finns många saker du kan automatisera nu Det sparar tid och låter dig fokusera på andra saker. Vi ger dig sju saker du kan automatisera just nu med rätt verktyg. Läs mer . Antag att du har en uppgift som du behöver utföra varje dag. Om du behöver utföra flera kommandon på ditt Linux-system varje dag kan du lagra dessa kommandon i en fil och köra skriptet. Exempel är:

  • Arkivera och ladda upp en fil eller mapp varje dag till en molnlagringsfacilitet Dropbox vs Google Drive vs OneDrive: Vilken molnlagring är bäst för dig? Dropbox vs Google Drive vs OneDrive: Vilken Cloud Storage är bäst för dig? Har du ändrat hur du tänker på molnlagring? De populära alternativen för Dropbox, Google Drive och OneDrive har lagts samman av andra. Vi hjälper dig att svara vilken cloud storage-tjänst du ska använda. Läs mer som S3.
  • Komprimera loggfiler som tenderar att växa varje dag.
  • Hämta aktiekurser, analysera den hämtade data och utlös ett e-postmeddelande eller SMS när vissa villkor är uppfyllda (för höga eller låga priser).

4. Kombinera flera kommandon

Förutom att automatisera frekventa uppgifter kan du också finna det fördelaktigt att du kan kombinera flera sekvenser av kommandon till ett enda kommando. Att komma ihåg ett enda kommando är mycket enklare än flera kommandon, för att inte tala om den ordning i vilken de måste utföras.

Ett exempel skulle vara uppstartsekvensen för Linux operativsystem Komma igång Guide till Linux Komma igång till Linux En nybörjare Komma igång Guide till Linux! Du har nog hört talas om Linux, det fria operativsystemet med öppen källkod som har drivit upp mot Microsoft. Läs mer själv. Som en del av uppstart körs operativsystemet ett antal kommandon för att få systemet till ett korrekt tillstånd. Dessa kommandon är egentligen skalskript som lever under /etc katalogen. Om du tittar på ett av dessa skalskript kommer du att inse komplexiteten att starta ett system, vilket du kanske måste ha utfört för hand i avsaknad av skalskript.

Följande är ett exempel på skalskript, / Etc / profile, som exekveras varje gång en användare loggar in. Föreställ dig att skriva in dessa kommandon för hand!

# / etc / profile: systemövergripande .profil för Bourne-skalet (sh (1)) # och Bourne-kompatibla skal (bash (1), ksh (1), aska (1), ...). om ["$ PS1"]; sedan om ["$ BASH"] && ["$ BASH"! = "/ bin / sh"]; då # Filen bash.bashrc anger redan standard PS1. # PS1 = "\ h: \ w \ $" om [-f /etc/bash.bashrc]; då. /etc/bash.bashrc fi else om ["'id -u'" -eq 0]; då PS1 = "#" annat PS1 = "$" fi fi fi # Standardomskriften hanteras nu av pam_umask. # Se pam_umask (8) och /etc/login.defs. om [-d /etc/profile.d]; då för jag i /etc/profile.d/*.sh; gör om [-r $ i]; då. $ Jag har gjort mig avstängd 

5. Lättare att utveckla

Det är möjligt att utföra samma åtgärder som ett skalskript i ett vanligt program skrivet i C / C ++. Det är emellertid mycket lättare att skriva och felsöka ett skalskript än ett C / C ++-program. Speciellt för systemadministrationsuppgifter som innefattar exekvering av externa kommandon, skapande och borttagning av filer och kataloger, omdirigering av utdata mm.

C / C ++-program är bättre för en mycket lägre driftsnivå, till exempel att anropa systemsamtal, manipulera datastrukturer etc.

6. Genomskinlighet

Ett skalskript, genom att vara en textfil, kan enkelt ses för att se vilka åtgärder den utför. Däremot är det enda sättet du någonsin vet vad ett program som skrivs på ett språk som C / C ++ (och kompilerat till en körbar) gör om den väljer att berätta för dig eller om du har tillgång till källkoden. Du kan till exempel kontrollera om ett skalskript raderar några filer, och om du behöver dessa filer kan du kopiera dem till en annan plats.

Det är också mycket lättare att diagnostisera problem med skalskript istället för vanliga program eftersom du kan titta på källkoden. Är det skrivet fel eftersom en katalog inte existerar? Du kan titta i skriptkoden och skapa katalogen (även om ett välskött skalskript borde kontrollera och skapa det för att undvika sådana fel).

7. Bärbar

Ett skalskript En snabbguide till Linux Bash Shell i Windows 10 En snabbguide till Linux Bash Shell i Windows 10 Du kan nu köra Linux på Windows. Läs mer om Bash på Windows, från hur och varför du ska installera den, till dolda funktioner som du förmodligen inte visste om. Läs mer kan överföras till andra Unix- och Unix-liknande operativsystem och exekveras (om själva skalet är närvarande). Även när man överför ett skalskript från olika arkitekturer som x86, MIPS, Sparc, etc, är skalskript mycket mer bärbara än C / C ++-program.

Det enda sättet att ett C / C ++-program kan överföras och användas i ett annat system är att kopiera källkoden, bygga programmet och försöka köra det. Även då kan det inte fungera som förväntat om det använder arkitekturspecifik kod.

Nu när du har en uppfattning om vad skalskript är och deras många fördelar, skulle du inte vilja använda dem för dina uppgifter? Vilka problem har du haft när du använder dem? Vänligen meddela oss i kommentarerna nedan.

Utforska mer om: Linux Bash Shell.