Shell Scripting - Introduction & Shebang
Indholdsfortegnelse:
- Direktiv om Shebang-tolk
- Brug af Shebang i Bash-scripts
- Eksempel script
- Overstyrer Shebang
- Konklusion
Denne sekvens af tegn (
#!
) Kaldes shebang og bruges til at fortælle operativsystemet, hvilken tolk der skal bruges til at analysere resten af filen.
Direktiv om Shebang-tolk
Direktivet om Shebang-tolk har følgende form:
#!interpreter
- Direktivet skal være den første linje i scriptet. Direktivet skal starte med shebang
#!
Hvid plads efter shebang-tegnene er valgfri. Tolk er den fulde sti til en binær fil (eks:/bin/sh
,/bin/bash
). Interpreter-argumenter er valgfri.
Eksempler:
-
#!/bin/bash
- Brugerbash
til at analysere filen.#!/usr/bin/env perl
- Brugerenv
kommandoen til at finde stien til den eksekverbareperl
.#!/usr/bin/python
Kører filen ved hjælp af den binærepython
.
Brug af Shebang i Bash-scripts
Hvis der ikke er angivet en shebang, og brugeren, der kører Bash-scriptet, bruger et andet Shell, vil scriptet blive parset af uanset hvilket standardtolk der bruges af det Shell. For eksempel er standardtolken for
bash
bash
og for
zsh
er
sh
. For at sikre, at dit script altid bliver fortolket med Bash, skal du specificere den eksekverbare sti ved hjælp af shebang.
Der er to måder at bruge Shebang-direktivet og indstille tolk.
-
Brug af den absolutte sti til bash binæren:
#!/bin/bash
Brug af
env
værktøjet:#!/usr/bin/env bash
Fordelen ved at bruge den anden metode er, at den søger efter den
bash
køres i brugerens
$PATH
miljøvariabel. Hvis der er mere end en sti til
bash
, bruges den første af scriptet.
Når du bruger den første mulighed for at tilføje en indstilling til Bash shell-forsyningen, skal du sende den til tolken. For eksempel at køre scriptet i en debugtilstand, ville du bruge
#!/bin/bash -x
. Hvis du bruger
env
metoden, skal du bruge
set
til at erklære indstillingen. For at aktivere debugtilstand tilføjede du
set -x
efter shebang-linjen.
Eksempel script
Lad os oprette et simpelt script ved hjælp af shebang, der udskriver "Hej, verden". Åbn din teksteditor og indsæt følgende linje:
nano hello_world
Hej Verden
#!/bin/bash echo "Hello, World"
For at kunne køre scriptet uden at specificere tolken fra kommandolinjen skal du gøre filen eksekverbar:
chmod +x hello_world
Hvis du nu kan køre scriptet ved at skrive
./
efterfulgt af scriptnavnet:
./hello_world
Overstyrer Shebang
Hvis du af en eller anden grund ønsker at tilsidesætte det tolk, der er sat i Shebang-linjen, skal du køre scriptet ved eksplicit at specificere det ønskede shell.
For eksempel at køre et script, der har
#!/bin/sh
specificeret i Shebang-linjen ved hjælp af den
bash
shell, du vil skrive:
bash hello_world
Bemærk, det er ikke en god ide at tilsidesætte shell-tolken, da det kan føre til uventet opførsel af scriptet.
Konklusion
Nu skal du have en god forståelse af, hvad der er Shebang, og hvordan du bruger det i dine Bash-scripts.
bash terminalSådan kører du Bash på Ubuntu på Windows 10

Aktivering af Windows Subsystem til Linux giver dig mulighed for at køre Bash på Ubuntu på Windows 10, Bash scripts , Linux-kommandolinjeværktøjer, Linux-første værktøjer.
Bash arrays

Arrays er en af de mest anvendte og grundlæggende datastrukturer. I denne artikel dækker vi Bash-matriserne og forklarer, hvordan du bruger dem i dine Bash-scripts.
Bash til løkke

Der er 3 grundlæggende løkkekonstruktioner i Bash-scripting, til loop, while loop og indtil loop. I denne tutorial vil vi dække det grundlæggende for løkker i Bash såvel som pausen og fortsætte udsagn for at ændre strømmen af en løkke.