Shell Scripting - Introduction & Shebang
Inhoudsopgave:
- Shebang-interpretatierichtlijn
- Shebang gebruiken in Bash-scripts
- Voorbeeldscript
- De Shebang overschrijven
- Conclusie
Deze reeks tekens (
#!
) Wordt shebang genoemd en wordt gebruikt om het besturingssysteem te vertellen welke interpreter moet worden gebruikt om de rest van het bestand te parseren.
Shebang-interpretatierichtlijn
De Shebang-interpretatierichtlijn heeft de volgende vorm:
#!interpreter
- De richtlijn moet de eerste regel in het script zijn. De richtlijn moet beginnen met shebang
#!Witruimte achter de shebang-tekens is optioneel. Interpreter is het volledige pad naar een binair bestand (bijvoorbeeld:/bin/sh,/bin/bash). Interpreter-argumenten zijn optioneel.
Voorbeelden:
-
#!/bin/bash- Gebruiktbashom het bestand te parseren.#!/usr/bin/env perl- Gebruikt de opdrachtenvom het pad naar het uitvoerbareperlte vinden.#!/usr/bin/pythonVoert het bestand uit met behulp van de binairepython.
Shebang gebruiken in Bash-scripts
Als er geen shebang is opgegeven en de gebruiker die het Bash-script uitvoert, een andere Shell gebruikt, wordt het script ontleed door de standaardinterpreter die door die Shell wordt gebruikt. De standaardinterpreter voor
bash
is bijvoorbeeld
bash
en voor
zsh
is
sh
. Om ervoor te zorgen dat uw script altijd met Bash wordt geïnterpreteerd, moet u het uitvoerbare pad opgeven met shebang.
Er zijn twee manieren om de Shebang-richtlijn te gebruiken en de tolk in te stellen.
-
Het absolute pad naar de bash-binaire gebruiken:
#!/bin/bashHet
envhulpprogramma gebruiken:#!/usr/bin/env bash
Het voordeel van het gebruik van de tweede benadering is dat wordt gezocht naar het
bash
uitvoerbare bestand in de omgevingsvariabele
$PATH
de gebruiker. Als er meer dan één pad is om te
bash
, zal het eerste door het script worden gebruikt.
Wanneer u de eerste optie gebruikt om een optie aan de toevoer van de Bash-shell toe te voegen, geeft u deze door aan de tolk. Als u het script bijvoorbeeld in een foutopsporingsmodus wilt uitvoeren, gebruikt u
#!/bin/bash -x
. Als u de
env
methode gebruikt, moet u
set
gebruiken om de optie aan te geven. Om de foutopsporingsmodus in te schakelen, voegt u
set -x
na de shebang-regel.
Voorbeeldscript
Laten we een eenvoudig script maken met behulp van shebang dat "Hallo wereld" afdrukt. Open uw teksteditor en plak de volgende regel:
nano hello_world
Hallo Wereld
#!/bin/bash echo "Hello, World"
Om het script te kunnen uitvoeren zonder de tolk op te geven vanaf de opdrachtregel, moet u het bestand uitvoerbaar maken:
chmod +x hello_world
Als u het script nu kunt uitvoeren door
./
typen, gevolgd door de scriptnaam:
./hello_world
De Shebang overschrijven
Als u om een of andere reden de tolk wilt overschrijven die is ingesteld in de Shebang-regel, moet u het script uitvoeren door de gewenste shell expliciet op te geven.
Als u bijvoorbeeld een script wilt uitvoeren dat
#!/bin/sh
opgegeven in de Shebang-regel met de
bash
shell, typt u:
bash hello_world
Houd er rekening mee dat het geen goed idee is om de shell-interpreter te negeren, omdat dit kan leiden tot onverwacht gedrag van het script.
Conclusie
Nu zou je een goed begrip moeten hebben van wat Shebang is en hoe je het kunt gebruiken in je Bash-scripts.
bash-terminalMicrosoft Research Asia host poorten op 10 jaar Bash
Microsoft Research Asia is in 1998 van een dozijn mensen gegroeid tot meer dan 350 een decennium later.
Bash uitvoeren op Ubuntu op Windows 10
Als u Windows Subsystem voor Linux inschakelt, kunt u Bash op Ubuntu uitvoeren op Windows 10, Bash-scripts , Linux-opdrachtregelprogramma`s, Linux-eerste hulpprogramma`s.
Bash-arrays
Arrays zijn een van de meest gebruikte en fundamentele gegevensstructuren. In dit artikel behandelen we de Bash-arrays en leggen we uit hoe je ze kunt gebruiken in je Bash-scripts.







