Hjem » Siste artikler » Slik kommer du i gang med shell scripting uten å ødelegge systemet ditt

Slik kommer du i gang med shell scripting uten å ødelegge systemet ditt

Hovedillustrasjon
Hovedillustrasjon. Foto: Pankaj Patel / Unsplash.

Shell scripting høres ofte mer avansert ut enn det er. I praksis er det bare små tekstfiler som automatisk kjører kommandoer du ellers ville skrevet for hånd i terminalen. For mange som lærer programmering, er dette en av de mest nyttige ferdighetene i hverdagen.

I denne artikkelen ser vi på hvordan du trygt kan komme i gang med shell scripts, hva de faktisk gjør, og hvordan du skriver dine første enkle skript uten å risikere å rote til systemet ditt.

Hva er et shell script egentlig?

Når du åpner terminalen i Linux eller macOS, snakker du vanligvis med et program som heter Bash, Zsh eller lignende. Dette kalles et shell. Hver linje du skriver er en kommando som shell-et tolker og kjører.

Et shell script er rett og slett en tekstfil med slike kommandoer, som shell-et kjører linje for linje. Du slipper å skrive alt manuelt hver gang, og kan automatisere små og store oppgaver.

Hvorfor lære shell scripting som ny i programmering?

Selv om du primært koder i Python, PHP, C# eller noe annet, vil shell scripting hjelpe deg med alt rundt prosjektet: sette opp mapper, kjøre tester, ta enkle backuper, starte og stoppe tjenester og rydde i filer.

I tillegg lærer du mye om hvordan systemet faktisk fungerer: hvordan kommandoer henger sammen, hvordan feilmeldinger oppstår og hvordan verktøy kan kombineres på smarte måter.

Ditt første trygge shell script

La oss starte med et helt ufarlig eksempel. Åpne en teksteditor og skriv:

Eksempel (Bash):

#!/usr/bin/env bash
echo “Hei, verden!”

Lagre filen somhei.shi hjemmemappen din. Deretter kjører du i terminalen:

chmod +x hei.sh
./hei.sh

Du har nå laget og kjørt ditt første shell script. Linjen som starter med#!sier hvilket shell som skal brukes, i dette tilfellet Bash.

Enkle byggeklosser: variabler, input og output

Shell scripts har de fleste grunnleggende byggesteinene du kjenner igjen fra andre språk: variabler, betingelser og løkker. La oss holde det enkelt og begynne med variabler og input.

Eksempel: hilse på en person

#!/usr/bin/env bash
echo “Hva heter du?”
read navn
echo “Hyggelig å møte deg, $navn!”

Her bruker dureadtil å ta imot input, og refererer til variabelen med$navnnår du skriver den ut igjen. Slike små skript er fine for å øve uten risiko.

Bruk av argumenter fra kommandolinjen

Noen ganger vil du gi skriptet informasjon direkte når du kjører det, i stedet for å spørre underveis. Da bruker du posisjonelle parametere:$1,$2og så videre.

Eksempel: lite kopieringsskript

#!/usr/bin/env bash
kilde=$1
mål=$2
echo “Kopierer fra $kilde til $mål”
cp “$kilde” “$mål”

Du kan kjøre det slik:

./kopier.sh rapport.txt backup_rapport.txt

Her er det viktig å sette variabler i anførselstegn. Det beskytter mot mellomrom i filnavn og andre overraskelser.

Sikkerhet først: slik unngår du å ødelegge noe

Tematisk illustrasjon
Tematisk illustrasjon. Foto: Jakub Zerdzicki / Pexels.

Shell scripts kan gjøre kraftige ting, som å slette filer eller endre systeminnstillinger. Derfor bør du ha noen enkle regler, spesielt mens du lærer.

  • Kjør skript i en testmappe først, for eksempel~/sandbox.
  • Unngåsudoi skript til du vet nøyaktig hva som skjer.
  • Vær ekstra forsiktig medrm, spesielt med flagg som-rog-f.
  • Les kommandoen høyt for deg selv før du kjører den: “Hva vil denne faktisk gjøre?”

Bruk echo og tørre tester aktivt

Når du er usikker på hva et skript vil gjøre, er det lurt å starte med å bare skrive ut hva som ville skjedd. Bytt for eksempel utrmmedecho rmfor å se hvilke filer som ville blitt slettet.

Eksempel: trygg opprydding

#!/usr/bin/env bash
mappe=$1
echo “Ville slettet disse filene i $mappe:”
find “$mappe” -name “*.tmp” -print

Når du ser at listen stemmer, kan du endre skriptet til faktisk å slette, for eksempel ved å legge til-deletei find, men gjør dette først når du forstår kommandokombinasjonen.

Automatisering av hverdagsting for utviklingsprosjekter

Et godt sted å bruke shell scripts er i egne kodeprosjekter. I stedet for å huske en lang rekker kommandoer, kan du samle dem i én fil du kjører med ett navn.

Noen vanlige ting å automatisere er:

  • Opprette nye prosjektmapper med faste undermapper.
  • Kjøre testkommandoer og formattering av kode med ett kall.
  • Lage en enkel backup av viktige filer til en ekstern disk eller sky-mappe.
  • Starte utviklingsserver, bygge frontend og åpne nettleser samtidig.

Steg for steg: slik lager du et lite “prosjektsetup”-skript

La oss ta et konkret eksempel på et skript som setter opp en enkel prosjektstruktur. Dette er nyttig når du ofte starter små prosjekter, uansett språk.

#!/usr/bin/env bash
navn=$1
if [ -z “$navn” ]; then
  echo “Bruk: ./nytt_prosjekt.sh prosjektnavn”
  exit 1
fi
mkdir -p “$navn”/{src,tests,docs}
touch “$navn”/README.md
echo “# $navn” > “$navn”/README.md
echo “Prosjektet ‘$navn’ er opprettet.”

Dette skriptet:

  • Sjekker at du har gitt et prosjektnavn.
  • Oppretter en mappestruktur medsrc,testsogdocs.
  • Lager en enkelREADME.md.

Feilsøking: når skriptet ikke gjør det du tror

Selv små shell scripts kan være vanskelige å feilsøke hvis du ikke ser hva som faktisk skjer. Heldigvis finnes det en enkel måte å få mer innsikt: kjør skriptet med-x.

bash -x skript.sh

Da vil du se hver kommando etter at variabler er erstattet med sine faktiske verdier. Det gir deg et klart bilde av hva som faktisk blir kjørt, og hvor ting går galt.

Videre veien: hva du kan lære etter grunnleggende shell scripting

Når du behersker de enkle byggesteinene, kan du gradvis utforske mer: for-løkker, betingelser, små funksjoner og bruk av verktøy somgrep,awkogsed. Du trenger ikke lære alt på en gang, ta det i bruk når du faktisk har et problem å løse.

Det viktigste er å gjøre shell scripting til noe du bruker jevnlig, ikke bare leser om. Start med små skript som sparer deg for 10–20 sekunder i hverdagen, og bygg videre derfra når du merker hvor mye tid og frustrasjon du kan spare.

0 kommentarer