Bash-scripting er en nyttig færdighed at lære som Linux-bruger. Selv som nybegynder kan det at kende denne færdighed være forskellen mellem at udnytte din maskine fuldt ud og gøre alt i hånden. Derfor vil vi i denne artikel lære dig, hvordan du skriver bash-scripts for at automatisere Linux og tage fuld kontrol over dit skrivebord. Vi vil gennemgå det grundlæggende i scripting med Bash-skallen, det grundlæggende i, hvad der gør et script, hvordan man kører dem på dit system, hvad shebangs betyder og meget mere!
Indholdsfortegnelse
Typer af scripts
Der er mange forskellige typer scripts. Hovedsageligt: SH og BASH. Disse filtypenavne er vigtige, fordi filtypenavnet fortæller tolken, hvordan den skal køres. Hvis en fil er en SH-fil, kan den køres i en hvilken som helst shell, ikke kun Bash. Dette betyder, at et script skrevet til Bash på Linux kan køre på Mac, BSD og andre steder med lignende skaller.
Scripts, der bruger filtypen BASH, er kun beregnet til at køre inde i Bash. Det er tilstrækkeligt at sige, dit script med bash filtypenavnet vil ikke køre i Fish shell på Linux, eller nogen af de andre lignende tilgængelige shells.
Shebangs
Nogle scripts bruger slet ikke filtypenavne. I stedet bruger de en shebang til at lade tolken forstå, hvad scriptet er til, og hvordan det skal køres. Når man skriver et manuskript, kommer shebang ALTID først. Hvis en shebang er fraværende, vil et script ofte nægte at køre, især hvis der ikke bruges nogen filtypenavn.
Der er meget at lære om shebangs, men begyndere behøver ikke bekymre sig om dem. De viser sig kun nyttige for avancerede Bash-brugere, der ønsker at skrive utroligt komplekse Bash-værktøjer. Som nybegyndere, er den eneste shebang, som brugere behøver at tænke på, standarden: #!/bin/bash
At lave et bash-manuskript
Mange begyndere forveksler bash-scripts til egentlig programmering. Hovedformålet med scripting i bash er at sætte mange kommandoer sammen, hvilket effektivt gør lange komplicerede ting uden at skulle skrive hver lille ting ud i terminalskallen. Hvis du prøver at lave seriøs programmering i Bash, så stop og overvej et egentligt programmeringssprog, der bruges på Linux som Python.
For at starte skal du åbne en terminal og indtaste følgende kommando:
nano myfirstbashscript
Dette bringer Nano-teksteditoren frem. Inde i nano skal du tilføje shebang for at hjælpe tolken med at identificere, hvad han skal gøre med scriptet.
#!/bin/bash
Herfra kan vi gøre alt! For eksempel: en Ubuntu-bruger kan lave et simpelt opdateringsscript ved at tilføje linjerne:
sudo apt update;sudo apt upgrade -y
Alternativt et andet eksempel: lav et kontinuerligt ping-script til at køre i baggrunden, hvis du er bekymret for din netværkshastighed.
ping google.com
Tilføj enhver kommando(er), du vil have til scriptet! Bliv kreativ!
Når du har tilføjet det, du vil have til dit script, skal du gemme det med nano ved hjælp af CTRL + O.
Med scriptet oprettet, er det tid til at opdatere tilladelserne. I en terminal skal du gøre:
sudo chmod +x myfirstbashscript
Kører scripts
For at køre et shell-script skal du åbne en terminal og gøre:
sudo sh script.sh
For at køre bash-filer, prøv:
sudo bash script.bash
Alternativt kan ethvert script uanset filtypenavnet nemt køre med ./filename i terminalen.
Alle tre måder at køre scripts på fungerer meget godt. Når det er sagt, er brug af ./filename den værste måde, da scripts ofte ikke kører, medmindre bash-scriptet har de korrekte tilladelser. Indstil tilladelserne med:
sudo chmod +x script
Gør dit script til et binært
For at køre dit script ved blot at skrive navnet på filen i terminalen, skal du gøre det til et binært. For at gøre dette skal du bruge chmod-kommandoen til at gøre den eksekverbar.
sudo chmod +x
Når scriptet er markeret som en eksekverbar, er det tid til at flytte scriptet, så det er tilgængeligt i brugerens sti. Gør dette med kommandoen MV. Alternativt kan du bruge CP-kommandoen i stedet for flyttekommandoen, hvis du vil beholde en sikkerhedskopi af dit script på dets oprindelige placering.
sudo mv /location/of/script /usr/bin/
eller
sudo cp /location/of/script /usr/bin/
Kør derefter det nyligt flyttede script inde i terminalen, hvor som helst ved blot at skrive navnet på det i terminalen. For eksempel: du brugte YouTube-DL til at skrive et automatisk YouTube-ripping-script og placerede det i /usr/bin/ for nem adgang.
For at køre nævnte script skal du gøre:
youtubescript
Det er det!
Konklusion
At lære bash-sproget er et nyttigt værktøj. Uden det ville systemadministratorer og terminalnørder finde på at trænge over en terminal i timevis ad gangen. I stedet kan de skrive bash-scripts for at automatisere Linux. Ved at lære at udnytte kraften i Bash, skriver du alle disse komplekse operationer ud og kører dem hurtigt med et script.
Skallen er smuk, og jo mere du lærer om den, jo mere lærer du om deres egne Linux-systemer, hvordan man automatiserer dem og endda forbedrer, hvordan tingene fungerer internt! Himlen er grænsen med bash, alt det kræver er lidt kreativitet!