Shell Scripting - Introduction & Shebang
Innholdsfortegnelse:
Denne sekvensen med tegn (
#!
) Kalles shebang og brukes til å fortelle operativsystemet hvilken tolk som skal brukes for å analysere resten av filen.
Shebang tolkningsdirektiv
Direktivet om Shebang-tolk har følgende form:
#!interpreter
- Direktivet må være den første linjen i manuset. Direktivet må starte med shebang
#!
Hvitt mellomrom etter shebang-tegnene er valgfritt. Tolk er den fullstendige banen til en binær fil (eks:/bin/sh
,/bin/bash
). Tolkets argumenter er valgfrie.
eksempler:
-
#!/bin/bash
- Brukerbash
å analysere filen.#!/usr/bin/env perl
- Brukerenv
kommandoen for å finne banen tilperl
kjørbar.#!/usr/bin/python
Utfører filen ved bruk avpython
binæren.
Bruke Shebang i Bash-skript
Hvis en shebang ikke er spesifisert og brukeren som kjører Bash-skriptet, bruker et annet Shell, blir skriptet analysert av hva som helst standardtolk som brukes av det Shell. For eksempel er standardtolken for
bash
bash
og for
zsh
er
sh
. For å sikre at skriptet ditt alltid vil bli tolket med Bash, må du spesifisere den kjørbare banen ved å bruke shebang.
Det er to måter å bruke Shebang-direktivet og sette tolk på.
-
Bruker den absolutte banen til bash-binæren:
#!/bin/bash
Bruke
env
verktøyet:#!/usr/bin/env bash
Fordelen med å bruke den andre tilnærmingen er at den vil søke etter den kjørbare
bash
i brukerens
$PATH
miljøvariabel. Hvis det er mer enn en sti å
bash
, vil den første brukes av skriptet.
Når du bruker det første alternativet for å legge til et alternativ til Bash-skallforsyningen, send det til tolken. For å kjøre skriptet i en feilsøkingsmodus vil du for eksempel bruke
#!/bin/bash -x
. Hvis du bruker
env
metoden, må du bruke
set
å erklære alternativet. For å aktivere feilsøkingsmodus vil du legge til
set -x
etter shebang-linjen.
Eksempel manus
La oss lage et enkelt manus ved å bruke shebang som vil trykke "Hallo, Verden". Åpne teksteditoren din og lim inn følgende linje:
nano hello_world
Hei Verden
#!/bin/bash echo "Hello, World"
For å kunne kjøre skriptet uten å spesifisere tolk fra kommandolinjen, må du gjøre filen kjørbar:
chmod +x hello_world
Hvis du nå kan kjøre skriptet ved å skrive
./
fulgt av skriptnavnet:
./hello_world
Overstyrer Shebang
Hvis du av en eller annen grunn vil overstyre tolkesettet i Shebang-linjen, må du kjøre skriptet ved å spesifisere det ønskede skallet.
For eksempel å kjøre et skript som har
#!/bin/sh
spesifisert i Shebang-linjen ved å bruke
bash
skallet du skriver:
bash hello_world
Vær oppmerksom på at det ikke er lurt å overstyre skalletolkeren, da det kan føre til uventet oppførsel av skriptet.
Konklusjon
Nå skal du ha en god forståelse av hva som er Shebang og hvordan du bruker det i Bash-skriptene dine.
bash terminalMicrosoft Research Asia Hosts Gates på 10 år Bash

Microsoft Research Asia har vokst fra et dusin mennesker i 1998 til over 350 et tiår senere.
Slik kjører du Bash på Ubuntu på Windows 10

Aktivering av Windows Subsystem for Linux vil tillate deg å kjøre Bash på Ubuntu på Windows 10, Bash-skript , Linux-kommandolinjeverktøy, Linux-første verktøy.
Bash-matriser

Arrays er en av de mest brukte og grunnleggende datastrukturer. I denne artikkelen skal vi dekke Bash-matriser, og forklare hvordan du bruker dem i Bash-skriptene dine.