Sådan skriver du bash-scripts for at automatisere Linux

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!

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.

  Sådan sikkerhedskopieres Cinnamon Desktop-indstillingerne på Linux

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!

  Sådan sikkerhedskopieres et Drupal-websted på Linux

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.

  Sådan opsætter du Seafile på Linux

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!