Har du nogensinde ønsket at lære "scripting" i Linux? At gøre dem er nemmere end du måske tror. Nogle gange er scripts (ofte kaldet shell eller bash scripts) rigtige programmer med kompliceret kode indeni. Andre gange er de bare en lang liste over opgaver, som brugere sætter sammen for at gøre tingene gjort under Linux hurtigere og nemmere.

I denne artikel har vi besluttet at lave en hurtig guide, der forklarer, hvordan man laver et grundlæggende shell script under Linux. Denne vejledning vil ikke gøre dig til en Bash eller scripting ekspert. I stedet vil det vise dig, hvor nemt det er at komme i gang (og bedste praksis) scripting i Linux.

Hvorfor skulle du lave et script?

At lave scripts i Linux er en meget nyttig færdighed at have. Selvom du ikke forstår Bash fuldt ud, kan du bruge din begrænsede viden om terminalen til at automatisere og "massere" nogle opgaver, eller blot at åbne flere applikationer samtidigt.

For eksempel: måske har du lige bygget Arch Linux fra bunden. Operativsystemet er installeret sammen med alle de grundlæggende pakker, og det kan starte op til terminalen, når operativsystemet starter. Arch Linux tager tid at oprette, så processen er ikke afsluttet.

Det er på dette tidspunkt, hvor brugeren kunne skrive et Bash-script og opnå alt på én gang. Intet af dette er programmering eller avanceret for den sags skyld. Men i betragtning af at brugeren forstår nok, hvordan Arch Linux fungerer, kunne de automatisere næsten hele post-setup processen (skrivebordsmiljø, drivere, brugeropsætning osv.).

Den eneste grænse for dit bash script er din egen Linux og Bash viden! At gøre dem er nemmere end du måske tror.

Kom godt i gang - Shebangs

Når du skriver kode, skal ting specificeres og ressourcer indlæses. Ved scripting med skallen skal nogle ting også angives. I bash scripting er dette kendt som en "shebang". Shebangene, der bruges i scripts, fortæller scriptet, hvilken tolk den skal udføre under. Dette kan være Bash eller andre scripts tilgængelige i dit system. Bemærk at forskellige sprog har deres egne shebangs.

For eksempel: Når man skriver et Python-script, ville shebang være #!/usr/bin/python osv.

Bash har mange forskellige shebangs, der kan bruges, men de fleste brugere har sandsynligvis kun set #!/bin/bash one. Som regel skal du bruge #!/bin/bash når du skriver et simpelt script og ikke har planer om at fjerne det fra Linux. Alle moderne Linux distributioner er på samme version af bash, og bash shell er normalt placeret på samme sted.

En anden shebang, der viser sig nyttig, er #!/usr/bin/env bash shebang. Denne er designet til bærbarhed og skal bruges, hvis scriptet er designet til at køre på andre Unix-lignende operativsystemer (BSD'er, macOS osv.).

Bedste praksis

Skrive script i Bash kan være en kompliceret proces, hvis forfatteren gør det på den måde. Oftere end ikke, scripts er blot en samling af forskellige operationer. Flytning af en fil, downloading af noget, installation af programmer og den slags ting.

  • Husk at Bash er et sprog, der er designet til at manipulere filer og processer på systemet. Hvis Bash opfylder dine behov, er det godt. Men forstår det, at for avanceret programmering er Bash virkelig ikke det rigtige valg, og det ville være bedst at flytte på noget som Python.
  • Lav dine scripts "SH" kompatible og i ".sh" -formatet, hvis planen er at bruge scripts på mere end bare en Linux-platform. Selvom andre UNIX-lignende operativsystemer måske har "bash-lignende" skaller, har nogle slet ikke bash, og det er godt at være forberedt på dette.
  • Lær Bash skalen og hvordan det virker. Det hjælper dig med at skrive dine scripts bedre.
  • Brug altid en shebang og vigtigere: brug den rigtige . Det kan betyde forskellen mellem et godt script og en forfærdelig, der ikke fungerer rigtigt.
  • Altid kommentere hver operation. I løbet af seks måneder kan du komme tilbage til dit script og spekulere på, hvad det hele betyder, så det er afgørende, at dit script er dokumenteret godt og let at forstå (for dig og andre, der måske ser det).
  • Gør din kode læsbar. Selvom dit script ikke er noget komplekst, skal det stadig være fornuftigt, og at gøre dem lettere end du måske tror.
  • Test dit script for fejl, før du giver det ud til andre. Lav ikke andre fejltest for dig. Ideelt set skal scripts arbejde, før du sender dem ud for folk at bruge.

Lav et script

For at starte scripting er alt, hvad du behøver, et tekstredigeringsprogram. Enhver enkel tekstredaktør vil gøre det - det behøver ikke at være en kompliceret eller omfattende. Til dette eksempel laver vi et simpelt Ubuntu opdaterings script ved hjælp af Gedit.

 #! / Bin / bash 

Denne første del af scriptet er shebang, som nævnt før. Dette giver scriptet mulighed for at fortælle tolken, hvad den skal bruge til at forstå koden.

Næste, lad os skrive en kommentar. Dette vil tillade enhver, der bruger scriptet at forstå, hvad koden er beregnet til at gøre. Kommentarer kan tilføjes til et script ved at placere et "#" symbol. Noget efter det bliver ikke hentet af scriptet.

 # Min Simple Ubuntu Update Script 

Nu er det tid til at tilføje koden til scriptet. I dette tilfælde arbejder vi på at lave et bash script, som vil køre Ubuntu's to opdateringskommandoer i rækkefølge. Start med kommandoen opdatering af softwarekilder.

 sudo apt opdatering 

Den anden del af scriptet er kommandoen apt upgrade . Denne kommando gør det muligt at installere de tidligere kontrollerede opdateringer. Tilføj en -y til slutningen, så scriptet ikke behøver nogen brugerinteraktion. Dette gør det muligt for kommandoen at opdatere sig selv.

 sudo apt opgradering -y 

Gem scriptet med en ".sh" udvidelse. For eksempel "myscript.sh."

For at køre scriptet skal du åbne en terminal og skrive:

 sudo chmod + x myscript.sh 

Dette markerer det nyoprettede script som eksekverbart. Det er ikke altid nødvendigt at gøre dette til scripts, for det meste vil Bash køre det alligevel. Uanset om dette er en god praksis, når du scripter.

For at udføre det nyoprettede script, skal du køre følgende kommando:

 sudo bash myscript.sh. 

Filudvidelser

Der er ingen forskel i filudvidelser for scripts. At navngive en fil med filtypen ".sh" har ikke nogen betydning for, hvordan "programmet" kører. Et Bash-script vil stadig køre uden filtypenavn - tomme tekstfiler og alt imellem så længe de rigtige kommandoer og argumenter er til stede.

Selvom Bash-skalen ignorerer filudvidelser, betyder det ikke, at scriptwriter skal. Nogle desktop-miljøer, der giver mulighed for at indstille shell scripts til at køre ved opstart afhænger af scriptet for at have den korrekte ".sh" filudvidelse. Dette hjælper også til organisationsformål.

Når det kommer til det, gemmes de fleste shell-scripts som ".sh" -filer til bærbarhed. "Sh" har ikke noget at gøre med Bash selv, og scriptet kan køre med en kompatibel skal.

Alternativt kan scripts gemmes som .bash, .ksh (Unix kornskal) osv. Disse filudvidelser er ringere og begrænser virkelig et scripts brugbarhed. Dette skyldes, at de kun er designet til de skaller, der bruger disse udvidelser.

Kode ressourcer

For dem, der leder efter nyttige Bash-scripts, skal du tjekke Bash User Repository på Reddit. Det er en samling af pæne og nyttige scripts, der er fri til at bruge og modificere!

Derudover skal de, der ønsker at lære den avancerede karakter af Bash og programmering med skallen, tjekke Freecode. Webstedet har en hel lektion guide, der lærer alt, hvad der er at vide om avanceret Bash scripting.

Konklusion

Selvom scripting med Bash på Linux ikke er en unik funktion (Macs har også bash), har det tendens til at hjælpe Linux-brugere mere generelt. I betragtning af, at så meget af Linux kan udføres under terminalen, er det meget nyttigt at lære at manipulere skallen.

Hvilke Bash-scripts bruger du under Linux for at gøre dit liv lettere? Fortæl os nedenfor!

Funktionsbillede: Jm3