Android

Bash shebang

Shell Scripting - Introduction & Shebang

Shell Scripting - Introduction & Shebang

Sadržaj:

Anonim

Ovaj niz znakova ( #! ) Naziva se shebang i koristi se da bi operativnom sustavu rekao koji interpreter treba koristiti za analizu ostatka datoteke.

Direktiva o tumačenju Shebang-a

Direktiva prevoditelja Shebang ima sljedeći oblik:

#!interpreter

  • Direktiva mora biti prvi redak u skripti. Direktiva mora početi s shebang #! Bijeli prostor nakon shebang znakova nije obavezan.Interpreter je puni put do binarne datoteke (npr.: /bin/sh , /bin/bash ). Argumenti prevoditelja nisu obavezni.

Primjeri:

  • #!/bin/bash - Koristi bash za analizu datoteke. #!/usr/bin/env perl - Koristi naredbu env da pronađe put do izvršnog perl . #!/usr/bin/python Izvršava datoteku koristeći binarni python .

Korištenje Shebang u Bash skriptama

Ako shebang nije naveden, a korisnik koji izvodi Bash skriptu koristi drugu Shell, skripta će se raščlaniti onim što zadani tumač koristi Shell. Na primjer, zadani tumač za bash je bash a za zsh je sh . Da biste osigurali da će vaša skripta uvijek biti interpretirana s Bashom, morat ćete odrediti izvršnu stazu pomoću shebang.

Postoje dva načina korištenja Shebang direktive i postavljanja tumača.

  1. Korištenjem apsolutnog puta ka bash binarnom:

    #!/bin/bash

    Korištenje env uslužnog programa:

    #!/usr/bin/env bash

Prednost korištenja drugog pristupa je u tome što će pretraživati bash izvršnu datoteku u korisničkoj $PATH okruženja $PATH . Ako postoji više putova ka bash , skripta će koristiti prvi.

Kad koristite prvu opciju za dodavanje opcije na opskrbu Bash školjke, proslijedite je tumaču. Na primjer, za pokretanje skripte u načinu uklanjanja pogrešaka upotrijebili biste #!/bin/bash -x . Ako koristite env metod, tada morate koristiti opciju za deklariranje opcije. Da biste omogućili način uklanjanja pogrešaka, dodajte set -x nakon shebang linije.

Primjer skripte

Napravimo jednostavnu skriptu koristeći shebang koji će ispisati "Zdravo, svijet". Otvorite uređivač teksta i zalijepite sljedeći redak:

nano hello_world Pozdrav svijete

#!/bin/bash echo "Hello, World"

Da biste mogli pokrenuti skriptu bez određivanja tumača iz naredbenog retka, datoteku trebate izvršiti:

chmod +x hello_world

Sada ako možete pokrenuti skriptu upišite ./ zatim naziv skripte:

./hello_world

Hello, World

Nadjačavajući Shebang

Ako iz nekog razloga želite nadjačati skup tumača u Shebang liniji, potrebno je pokrenuti skriptu izričito odredivši željenu ljusku.

Na primjer, pokrenite skriptu u kojoj je #!/bin/sh naveden u Shebang liniji koristeći bash shell koji biste upisali:

bash hello_world

Imajte na umu da nije dobra zamjena tumača školjki jer može dovesti do neočekivanog ponašanja skripte.

Zaključak

Do sad biste trebali dobro razumjeti što je Shebang i kako ga koristiti u svojim Bash skriptama.

bash terminal