Har du noen gang ønsket å lære "scripting" i Linux? Å gjøre dem er enklere enn du kanskje tror. Noen ganger er skript (ofte referert til som shell eller bash-skript) ekte programmer med komplisert kode inne. Andre ganger er de bare en lang liste over oppgaver som brukerne setter sammen for å få ting gjort under Linux raskere og enklere.

I denne artikkelen har vi besluttet å lage en rask guide som forklarer hvordan du lager et grunnleggende skalskript under Linux. Denne opplæringen vil ikke gjøre deg til en Bash eller skriptekspert. I stedet vil det vise deg hvor lett det er å komme i gang (og beste praksis) skripting i Linux.

Hvorfor skulle du lage et skript?

Å lage skript i Linux er en veldig nyttig ferdighet å ha. Selv om du ikke forstår Bash fullt ut, kan du bruke din begrensede kunnskap om terminalen til å automatisere og "massere" noen oppgaver, eller bare åpne flere applikasjoner samtidig.

For eksempel: kanskje du bare har bygget Arch Linux fra bunnen av. Operativsystemet er installert, sammen med alle grunnpakker, og det kan starte opp til terminalen når operativsystemet starter. Arch Linux tar tid å sette opp, så prosessen er ikke fullført.

Det er på dette punktet hvor brukeren kan skrive et Bash-skript og oppnå alt på en gang. Ingen av dette er programmering, eller avansert for den saks skyld. Men i lys av at brukeren forstår nok om hvordan Arch Linux fungerer, ville de kunne automatisere nesten hele prosessen etter oppsett (skrivebordsmiljø, drivere, brukeroppsett, etc.).

Den eneste grensen til bash scriptet er din egen Linux og Bash kunnskap! Å gjøre dem er enklere enn du kanskje tror.

Komme i gang - Shebangs

Når du skriver kode, må ting spesifiseres og ressurser lastes. Når skripting med skallet, må noen ting også angis. I bash scripting er dette kjent som en "shebang". Shebangene som brukes i skript, forteller scriptet hvilken tolk den skal utføre under. Dette kan være Bash eller andre skript som er tilgjengelige i systemet ditt. Vær oppmerksom på at forskjellige språk har sine egne shebangs.

For eksempel: Når du skriver et Python-skript, vil shebang være #!/usr/bin/python, etc.

Bash har mange forskjellige shebangs som kan brukes, men de fleste brukere har sannsynligvis bare sett #!/bin/bash en. Bruk vanligvis #!/bin/bash når du skriver et enkelt skript og ikke planlegger å ta den av Linux. Alle moderne Linux-distribusjoner er på samme versjon av bash, og bash-skallet er vanligvis plassert på samme sted.

En annen shebang som viser seg nyttig er #!/usr/bin/env bash shebang. Denne er designet for bærbarhet og skal brukes hvis skriptet er designet for å kjøre på andre Unix-lignende operativsystemer (BSDs, macOS, etc.).

Beste praksis

Skrive skript i Bash kan være en komplisert prosess hvis forfatteren gjør det på den måten. Oftere enn ikke, er skript bare en samling av forskjellige operasjoner. Flytte en fil, laste ned noe, installere programmer og den slags ting.

  • Husk at Bash er et språk som er designet for å manipulere filer og prosesser på systemet. Hvis Bash oppfyller dine behov, er det bra. Men forstår det at for avansert programmering er Bash egentlig ikke det riktige valget, og det ville være best å flytte inn på noe som Python.
  • Gjør skriptene dine "SH" kompatible og i ". Sh" -formatet hvis planen er å bruke skript på mer enn bare en Linux-plattform. Selv om andre UNIX-lignende operativsystemer kan ha "bash-like" -skjell, har noen ikke noe bash i det hele tatt, og det er godt å være forberedt på dette.
  • Lær Bash-skallet og hvordan det fungerer. Det vil hjelpe deg å skrive dine skript bedre.
  • Bruk alltid en shebang og enda viktigere: bruk den rette . Det kan bety forskjellen mellom et godt skript og en forferdelig en som ikke fungerer riktig.
  • Alltid kommentere hver operasjon. På seks måneder kan du komme tilbake til skriptet ditt og lure på hva alt betyr, så det er avgjørende at skriptet ditt er dokumentert godt og lett å forstå (for deg og alle andre som kan se det).
  • Gjør koden din lesbar. Selv om skriptet ditt ikke er noe komplekst, bør det fortsatt være fornuftig, og å gjøre dem enklere enn du kanskje tror.
  • Test skriptet ditt for feil før du gir det ut til andre. Ikke gjør andre feilprov for deg. Ideelt sett skal skriptene fungere før du sender dem ut for folk å bruke.

Å lage et skript

For å starte skripting er alt du trenger, en tekstredigerer. Enhver enkel tekstredigerer vil gjøre det - det trenger ikke å være komplisert eller omfattende. For dette eksempelet vil vi lage et enkelt Ubuntu-oppdateringsskript med Gedit.

 #! / Bin / bash 

Denne første delen av skriptet er shebang, som nevnt tidligere. Dette gjør at skriptet kan fortelle tolken hva den skal bruke for å forstå koden.

Neste, la oss skrive en kommentar. Dette vil tillate enhver som bruker skriptet å forstå hva koden er ment å gjøre. Kommentarer kan legges til et skript ved å plassere et "#" -symbol. Alt etter det vil ikke bli plukket opp av skriptet.

 # Mitt enkle Ubuntu Update Script 

Nå er det på tide å legge til koden i skriptet. I dette tilfellet jobber vi med å lage et bash-skript som vil løpe Ubuntus to oppdateringskommandoer i rekkefølge. Start med kommandoen oppdatering av programvarekilder.

 sudo apt oppdatering 

Den andre delen av skriptet er kommandoen apt upgrade . Denne kommandoen gjør det mulig å installere tidligere sjekket oppdateringer. Legg til en -y til slutten, slik at skriptet ikke trenger noen brukerinteraksjon. Dette vil tillate at kommandoen oppdateres av seg selv.

 sudo apt oppgradering -y 

Lagre skriptet med en ".sh" -utvidelse. For eksempel, "myscript.sh."

For å kjøre skriptet, åpne en terminal og skriv:

 sudo chmod + x myscript.sh 

Dette vil markere det nyopprettede skriptet som kjørbar. Å gjøre dette til skript er ikke alltid nødvendig, for det meste vil Bash kjøre det uansett. Uansett, dette er en god praksis når man skript.

For å utføre det nyopprettede skriptet, kjør følgende kommando:

 sudo bash myscript.sh. 

Filutvidelser

Det er ingen forskjell i filutvidelser for skript. Å navngi en fil med filtypen ".sh", har lite å påvirke måten "programmet" kjører på. Et Bash-skript kjører fortsatt uten filtype - tomme tekstfiler og alt i mellom så lenge de riktige kommandoene og argumentene er til stede.

Selv om Bash-skallet ignorerer filutvidelser, betyr det ikke at skriptforfatteren skal. Enkelte skrivebordsmiljøer som gjør det mulig å sette shell-skript til å kjøre ved oppstart avhenger av at skriptet har den riktige ".sh" filtypen. Dette bidrar også til organisasjonsformål.

Når det kommer til det, blir de fleste shell-skript lagret som ".sh" -filer for bærbarhet. "Sh" har ikke noe å gjøre med Bash selv, og skriptet kan kjøre med et kompatibelt skall.

Alternativt kan skript lagres som .bash, .ksh (Unix kornskall), etc. Disse filutvidelsene er dårligere og virkelig begrenser bruken av et skript. Dette skyldes det faktum at de er utformet bare for skallene som bruker disse utvidelsene.

Kode ressurser

For de som ser etter nyttige Bash-skript, sjekk ut Bash User Repository på Reddit. Det er en samling av pene og nyttige skript som er gratis å bruke og modifisere!

I tillegg, de som ønsker å lære avansert karakter av Bash og programmering med skallet, bør sjekke ut Freecode. Nettstedet har en hel lektionsguide som lærer alt som er å vite om avansert Bash-skripting.

Konklusjon

Selv om skripting med Bash på Linux ikke er en unik funksjon (Macs har også bash), har det en tendens til å hjelpe Linux-brukere ut mer generelt. Med tanke på så mye av Linux kan oppnås under terminalen, er det svært nyttig å lære å manipulere skallet.

Hvilke Bash-skript bruker du under Linux for å gjøre livet ditt enklere? Fortell oss nedenfor!

Funksjonsbilde: Jm3