Slik kjører du et Shell- eller .sh-skript på Mac Terminal

Hvis du er her, er du sannsynligvis interessert i å lære å bruke Shell-skript på din Mac. Enten du er helt ny på Shell, eller er kjent med Shell på grunn av erfaring med UNIX- eller Linux-operativsystemer, er dette stedet for deg!

Generelt vil denne artikkelen ikke dekke hvordan du skriver shell- eller .sh-skript, men vi vil gi deg noen tips om hvordan du skriver dem og hva du bør se etter.

Viktige takeaways

  • Shell- eller .sh-skript er vanlige tekstfiler som inneholder én eller flere Terminal-kommandoer for å utføre oppgaver som ellers ville brukt Terminal.
  • Før macOS Catalina var standardskriptet Bash Scripts. Men macOS Catalina endret denne standarden til zsh. Dette er viktig informasjon, men begrenser IKKE deg fra å bruke Shell
  • Mens Mac har et tekstredigeringsprogram for å redigere .sh-filer, finnes det gratis alternativer som kan være bedre for mer avanserte skript eller nybegynnere.
  • Når Shell- eller .sh-filen er opprettet, er det 3 enkle kommandoer for å kjøre den!

For det første, hvis du er mindre kjent med Shell- (eller .sh)-skript, er de ren tekstfiler som inneholder en eller flere UNIX-kommandoer (eller Terminal-kommandoer) som kan brukes til å utføre kommandoer som du ellers ville brukt Terminal til å utføre.

Filene etterfølges av .sh-suffikset. Siden macOS er basert på UNIX-operativsystemer, gjør dette det relativt enkelt å skrive og kjøre Shell-skript på din Mac.

Frem til macOS Catalina brukte macOS Bash-skript som standard, men Catalina endret standard til zsh. Dette er imidlertid bare standard og endrer ikke de andre alternativene for terminalen. Du kan fortsatt bruke det skriptet du er mest komfortabel med.

Grunnleggende om å skrive et Shell- eller .sh-skript

Shell-skript eller .sh-filer skrives vanligvis i tekstredigerere. Tekstredigeringsprogrammet er standard tekstredigeringsprogram for Mac, men det er ikke nødvendigvis det beste for å lage manus, spesielt hvis du ikke er kjent med manusskriving.

Les mer:Hvordan fikse terminaloperasjon ikke tillatt-feil på Mac

Hvis du planlegger å skrive skript for Mac-en din mer regelmessig eller bare begynner og prøver å skrive et mer avansert skript, kan det lønne seg å finne og laste ned en ekstra editor. Det er også spesifikke manusskrivingsapplikasjoner som er flotte for nybegynnere eller avanserte manus!

Den enkleste måten å lage en shell-fil på Mac er å bruke Terminal-kommandoene:

Cd YourFolder
touch CreateFileName.sh” 

I tillegg begynner Shell-skript alltid med en binær bane for å la terminalen din gjenkjenne at det er en Shell-fil.

Det begynner med det som kalles ashebang. Dette er hashtaggen og utropstegn. Deretter gir det bin, som står for binær, og sh for skall.

Så det vil se slik ut:#!/bin/sh.

For våre formål vil jeg bruke følgende Shell-fil. Dette ligger i dokumentmappen min.

Kjører Shell- eller .sh-skriptet

Så, med Terminal-appen på din Mac, vil vi bruke en rekke kommandoer for å kjøre skallfilen. De vil se slik ut:

Den første kommandoen er å bringe terminalen til mappen med Shell-skriptet. Som jeg sa ovenfor, ligger min i mappen Dokumenter.

cd YourFilePath

Den neste kommandoen endrer tillatelsene for filen slik at du kan kjøre den.

chmod 755 YourFileName.sh

Til slutt lar kommandoen deg kjøre filen.

sh YourFileName.sh

Ytterligere kjørekommandoer

Det er noen ekstra kommandoer som er litt mer komplekse og lar deg kjøre filen på forskjellige måter eller av forskjellige grunner. Alle følgende kommandoer og deres utdata vises her:

Hvis .sh-filen din krever spesielle tillatelser, bruk kommandoen:

sudo sh YourFileName.sh

I stedet for sh kan du bruke kommandoen./YourFileName.sh. Dette lar Mac-en din vite hvordan den skal lese shebang og bruke riktig skripttype.

Til slutt kan du bruke følgende kommandoer:

  • sh -xDitt filnavn.shfor feilsøkingsmodus
  • sh -vDitt filnavn.shfor detaljert modus
  • sh - nDitt filnavn.shfor å sjekke syntaksen

Siste ord

Tro det eller ei, å kjøre et Shell- eller .sh-skript på Mac-en din er like enkelt som de tre kommandoene vi diskuterte! Selv om det er flere andre måter å kjøre skriptet på (noen er diskutert), er disse kommandoene veldig enkle å huske og utføre.

Hvis du er kjent med Unix eller Linux, vil du ha det veldig enkelt å bruke Shell-skript på macOS også. Det er også en fin måte for nyere Shell-brukere å lære!