Har du någonsin velat lära dig "scripting" i Linux? Att göra dem är lättare än du kanske tror. Ibland är skript (ofta kallat skal eller bash-skript) riktiga program med komplicerad kod inuti. Andra gånger är det bara en lång lista över uppgifter som användare sätter ihop för att få saker som görs under Linux snabbare och enklare.

I den här artikeln har vi bestämt oss för att göra en snabbguide som förklarar hur man gör ett grundläggande skalskript under Linux. Denna handledning kommer inte att göra dig till en bas- eller skriptsexpert. Istället kommer det att visa dig hur lätt det är att komma igång (och bästa metoderna) i Linux.

Varför skulle du göra ett manus?

Att göra skript i Linux är en mycket användbar färdighet att ha. Även om du inte förstår Bash helt kan du använda din begränsade kunskap om terminalen för att automatisera och "massuppnå" vissa uppgifter eller helt enkelt öppna flera applikationer samtidigt.

Till exempel: kanske du bara byggt Arch Linux från början. Operativsystemet är installerat, tillsammans med alla grundläggande paket, och det kan starta upp till terminalen när operativsystemet startar. Arch Linux tar tid att installera, så processen är inte klar.

Det är vid denna tidpunkt där användaren kan skriva ett Bash-skript och uppnå allt på en gång. Ingen av detta är programmering eller avancerad för den delen. Men med tanke på att användaren förstår tillräckligt med hur Arch Linux fungerar skulle de kunna automatisera nästan hela efterinstallationsprocessen (skrivbordsmiljö, drivrutiner, användarinställningar etc.).

Den enda gränsen för ditt bash script är din egen Linux och Bash kunskap! Att göra dem är lättare än du kanske tror.

Komma igång - Shebangs

När du skriver kod måste saker anges och resurser laddas. När man skriptar med skalet måste vissa saker också anges. I bash scripting är detta känt som en "shebang". De shebangs som används i skript berättar manuset vilken tolk den ska utföra under. Det här kan vara Bash eller andra skript som finns tillgängliga i ditt system. Observera att olika språk har sina egna shebangs.

Till exempel: När du skriver ett Python-skript, skulle shebang vara #!/usr/bin/python etc.

Bash har många olika shebangs som kan användas, men de flesta användare har antagligen bara sett #!/bin/bash one. Som regel använder du #!/bin/bash när du skriver ett enkelt skript och planerar inte att ta bort det från Linux. Alla moderna Linux-distributioner finns på samma version av bash, och bash-skalet ligger vanligtvis på samma plats.

En annan shebang som visar sig vara användbar är #!/usr/bin/env bash shebang. Den här är avsedd för bärbarhet och ska användas om manuset är utformat för att köras på andra Unix-liknande operativsystem (BSD, MacOS, etc.).

Bästa praxis

Skrivskript i Bash kan vara en komplicerad process om författaren gör det på så sätt. Ofta är inte skript bara en samling av olika operationer. Flytta en fil, ladda ner något, installera program och den typen av saker.

  • Tänk på att Bash är ett språk som är utformat för att manipulera filer och processer på systemet. Om Bash möter dina behov är det bra. Men förstår det att för avancerad programmering är Bash verkligen inte det rätta valet, och det är bäst att flytta på något som Python.
  • Gör dina skript "SH" kompatibla och i ".sh" -format om planen är att använda skript på mer än bara en Linux-plattform. Även om andra UNIX-liknande operativsystem kan ha "bash-like" skal, har vissa inte bash alls, och det är bra att vara beredd på detta.
  • Lär dig Bash-skalet och hur det fungerar. Det hjälper dig att skriva dina skript bättre.
  • Använd alltid en shebang och viktigare: använd den rätta . Det kan betyda skillnaden mellan ett bra skript och en hemsk som inte fungerar rätt.
  • Alltid kommentera varje operation. På sex månader kan du komma tillbaka till ditt manus och undra vad allt betyder, så det är viktigt att ditt skript är dokumenterat bra och lätt att förstå (för dig och någon annan som kanske ser det).
  • Gör din kod läsbar. Även om ditt skript inte är något komplicerat, borde det fortfarande vara meningsfullt och att göra dem enklare än du kanske tror.
  • Testa ditt skript för fel innan du ger det ut till andra. Gör inte andra felprov för dig. Helst bör skript fungera innan du skickar ut dem för att folk ska använda.

Gör ett manus

För att starta skript är allt du behöver en textredigerare. Varje enkel textredigerare kommer att göra - det behöver inte vara komplicerat eller heltäckande. För det här exemplet gör vi ett enkelt Ubuntu-uppdateringsskript med Gedit.

 #! / Bin / bash 

Den här första delen av manuset är shebang, som nämnts tidigare. Detta gör det möjligt för skriptet att berätta tolken vad den ska använda för att förstå koden.

Låt oss sedan skriva en kommentar. Detta gör det möjligt för alla som använder manuset att förstå vad koden är tänkt att göra. Kommentarer kan läggas till ett skript genom att placera en "#" -symbol. Någonting efter det kommer inte att hämtas av manuset.

 # Min enkla Ubuntu Update Script 

Nu är det dags att lägga till koden i skriptet. I det här fallet jobbar vi med att göra ett bash-skript som kommer att köra Ubuntus två uppdateringskommandon i följd. Börja med kommandot uppdatering av programvarukällor.

 sudo apt uppdatera 

Den andra delen av skriptet är kommandot apt upgrade . Med det här kommandot kan de tidigare kontrollerade uppdateringarna installeras. Lägg till en -y till slutet så att manuset inte behöver någon användarinteraktion. Detta gör att kommandot kan uppdateras av sig själv.

 sudo apt uppgradering -y 

Spara skriptet med en ".sh" -tillägg. Till exempel "myscript.sh."

För att köra skriptet, öppna en terminal och skriv:

 sudo chmod + x myscript.sh 

Detta markerar det nyskapade skriptet som körbart. Att göra detta till skript behövs inte alltid, för det mesta kommer Bash att köra det ändå. Oavsett detta är en bra övning när man skriver.

För att utföra det nyskapade skriptet, kör följande kommando:

 sudo bash myscript.sh. 

Filförlängningar

Det finns ingen skillnad i filtillägg för skript. Namngivning av en fil med filnamnstillägget ".sh" påverkar inte hur "programmet" körs. Ett Bash-skript kör fortfarande utan filtillägg - tomma textfiler och allt däremellan så länge som de rätta kommandona och argumenten är närvarande.

Även om Bash-skalet ignorerar filtillägg, betyder det inte att man ska skriva författaren. Vissa skrivbordsmiljöer som gör det möjligt att ställa in skalskript som ska köras vid uppstart beror på att skriptet har rätt ".sh" filtillägg. Detta bidrar också till organisationsändamål.

När det kommer till det, sparas de flesta skalskript som ".sh" -filer för bärbarhet. "Sh" har inget att göra med Bash själv, och manuset kan köras med alla kompatibla skal.

Alternativt kan skript sparas som .bash, .ksh (Unix kornskal), etc. Dessa filtillägg är sämre och begränsar verkligen användbarheten av ett skript. Detta beror på det faktum att de är utformade endast för skalen som använder dessa förlängningar.

Kodresurser

För dem som letar efter användbara Bash-skript, kolla Bash User Repository på Reddit. Det är en samling snygga och användbara skript som är fria att använda och modifiera!

Dessutom vill de som vill lära sig den avancerade karaktären av Bash och programmera med skalet kolla in Freecode. Webbplatsen har en hel lektionsguide som lär ut allt som finns att veta om avancerade Bash-skript.

Slutsats

Även om skript med Bash på Linux inte är en unik funktion (Macs har också bash), tenderar det att hjälpa Linux-användare ut mer övergripande. Med tanke på så mycket av Linux kan uppnås under terminalen, är det mycket användbart att lära sig att manipulera skalet.

Vilka Bash-skript använder du under Linux för att göra ditt liv enklare? Berätta för oss nedan!

Funktionsbild: Jm3