Shell Scripting - Introduction & Shebang
Innehållsförteckning:
- Shebang-tolkningsdirektivet
- Använda Shebang i Bash-skript
- Exempel Skript
- Överbryter Shebang
- Slutsats
Denna sekvens med tecken (
#!
) Kallas shebang och används för att berätta för operativsystemet vilken tolk som ska användas för att analysera resten av filen.
Shebang-tolkningsdirektivet
Direktivet om Shebang-tolkar har följande form:
#!interpreter
- Direktivet måste vara den första raden i skriptet. Direktivet måste börja med shebang
#!Vitt utrymme efter shebang-tecknen är valfritt. Tolk är den fulla sökvägen till en binär fil (ex:/bin/sh,/bin/bash). Interpreter-argument är valfria.
Exempel:
-
#!/bin/bash- Använderbashatt analysera filen.#!/usr/bin/env perl- Använderenvkommandot för att hitta sökvägen till den körbaraperl.#!/usr/bin/pythonKör filen med binärpython.
Använda Shebang i Bash-skript
Om en shebang inte anges och användaren som kör Bash-skriptet använder ett annat Shell kommer skriptet att analyseras av vad standardtolkaren som används av det Shell. Till exempel är standardtolkaren för
bash
bash
och för
zsh
är
sh
. För att säkerställa att ditt skript alltid tolkas med Bash måste du ange den körbara sökvägen med shebang.
Det finns två sätt att använda Shebang-direktivet och ställa in tolk.
-
Använda den absoluta sökvägen till bash binär:
#!/bin/bashAnvända
envverktyget:#!/usr/bin/env bash
Fördelen med att använda den andra metoden är att den söker efter den
bash
köras i användarens miljövariabel
$PATH
. Om det finns mer än en väg att
bash
, kommer den första att användas av skriptet.
När du använder det första alternativet för att lägga till ett alternativ till Bash-skaltillförseln, skicka det till tolkaren. Till exempel, för att köra skriptet i ett felsökningsläge skulle du använda
#!/bin/bash -x
. Om du använder
env
metoden måste du använda
set
att förklara alternativet. För att aktivera felsökningsläget lägger du till
set -x
efter shebang-linjen.
Exempel Skript
Låt oss skapa ett enkelt manus med shebang som kommer att skriva ut "Hej, världen". Öppna din textredigerare och klistra in följande rad:
nano hello_world
Hej världen
#!/bin/bash echo "Hello, World"
För att kunna köra skriptet utan att ange tolk från kommandoraden måste du göra filen körbar:
chmod +x hello_world
Om du nu kan köra skriptet genom att skriva
./
följt av skriptnamnet:
./hello_world
Överbryter Shebang
Om du av någon anledning vill åsidosätta tolkuppsättningen i Shebang-linjen måste du köra skriptet genom att uttryckligen ange det önskade skalet.
Till exempel för att köra ett skript som har
#!/bin/sh
specificerat i Shebang-linjen med
bash
som du skulle skriva:
bash hello_world
Observera att det inte är bra att åsidosätta skaletolkaren eftersom det kan leda till skriptets oväntade beteende.
Slutsats
Nu bör du ha en god förståelse för vad som är Shebang och hur du använder det i dina Bash-skript.
bash terminalMicrosoft Research Asia Hosts Gates vid 10 års Bash
Microsoft Research Asia har ökat från ett dussin personer 1998 till mer än 350 ett decennium senare.
Så här kör du Bash på Ubuntu på Windows 10
Genom att aktivera Windows Subsystem för Linux kan du köra Bash på Ubuntu på Windows 10, Bash-skript , Linux-kommandoradsverktyg, Linux-första verktyg.
Bash-matriser
Matriser är en av de mest använda och grundläggande datastrukturerna. I den här artikeln täcker vi Bash-matriserna och förklarar hur du använder dem i dina Bash-skript.







