I Linux, filer som har filnavn forlengelse .sh er vanligvis shell skript, som er programmer som tolkes av kommandoen shell. Shell-skript trenger ikke å ha en filnavnutvidelse. Faktisk kan de bli navngitt noe i det hele tatt. Av historiske grunner har de imidlertid ofte utvidelsen .sh .
Gjøre shell-skript kjørbare
Shell-skript må markeres som kjørbare før du kan kjøre dem. Du kan kontrollere tillatelsene til en fil, også kjent som filmodus, ved å se en lang katalogoppføring med ls -l- kommandoen. Hvis du oppgir filnavnet, vil du motta informasjonen bare for den filen. For eksempel, her har vi en fil som heter somefile, og vi ser på tillatelsene med kommandoen ls -l somefile :
De ti tegnene " -rw-r - r-- " representerer filmodusen til somefile . Hvis du vil ha mer informasjon om filtillatelser, kan du se Hva er tillatelser, og hvordan fungerer de?
Her indikerer filmodus at vi kan lese og skrive noen fil, men kan ikke utføre det. Vi kan angi eksekveringsrettigheten ved hjelp av chmod-kommandoen, som endrer filmodus:
Kommandoen chmod u + x somefile setter utføringsbit for filens eier. Du kan se at tillatelseslinjen nå har en x i fjerde plass, som representerer eierens utførelsesrettigheter på filen. Legg merke til at filnavnet er oppført i farge (her vises det i grønt). Fargen kan være forskjellig på systemet ditt, men mange Linux-distribusjoner er konfigurert til å indikere kjørbare filer ved hjelp av en distinkt farge når du kjører ls- kommandoen.
Du kan følge denne samme prosessen for en .sh- skriptfil som du må kanskje utføre. Hvis du for eksempel skriver et egendefinert skript og heter det myscript.sh, bør du kjøre chmod u + x myscript.sh før du prøver å kjøre det.
Utfør et skript fra kommandolinjen
For å utføre et shell-skript, må du spesifisere banenavnet til skriptet ved ledeteksten. Hvis for eksempel skriptet heter install.sh og det er plassert i arbeidskatalogen din, kan du kjøre det med kommandoen nedenfor.
./install.sh
Ovennevnte kommandoer forteller skallet, "utfør filen install.sh som er plassert i den nåværende katalogen." Hvis install.sh er lokalisert i mappen minskripter i hjemmekatalogen din, kan du kjøre den med kommandoen nedenfor.
~ / Myscripts / install.sh
Merk: Angi banenavnet til skriptfilen (i stedet for bare å skrive inn innhall.sh, for eksempel) som et sikkerhetsmål: skallet skal sørge for at det kjører riktig install.sh, så det krever at du spesifiserer det nøyaktige plassering.
Det eneste unntaket er hvis skriptet ditt er plassert i en katalog som er oppført i systemets PATH- miljøvariabel. Hvis det var tilfelle, kan du kjøre filen ved å kjøre kommandoen install.sh .