Shell Scripting - Introduction & Shebang
Sisällysluettelo:
- Shebangin tulkkidirektiivi
- Shebangin käyttäminen Bash-komentosarjoissa
- Esimerkki käsikirjoituksesta
- Shebangin ohittaminen
- johtopäätös
Tätä merkkijonoa (
#!
) Kutsutaan shebang- tiedoksi, ja sitä käytetään kertomaan käyttöjärjestelmälle, mitä tulkkia käytetään muun tiedoston jäsentämiseen.
Shebangin tulkkidirektiivi
Shebangin tulkkidirektiivi on seuraavassa muodossa:
#!interpreter
- Direktiivin on oltava käsikirjoituksen ensimmäinen rivi. Direktiivin on alkaa shebang
#!Valkoinen väli shebang-merkkien jälkeen on valinnainen. Tulkki on täydellinen polku binaaritiedostoon (esim.:/bin/sh,/bin/bash). Tulkin argumentit ovat valinnaisia.
esimerkkejä:
-
#!/bin/bash- käyttääbashtiedostoa jäsentääksesi tiedostoa.#!/usr/bin/env perl- Käyttääenvkomentoa löytääksesiperlohjelman suoritettavan ohjelman.#!/usr/bin/pythonSuorittaa tiedostonpythonbinaarilla.
Shebangin käyttäminen Bash-komentosarjoissa
Jos shebangia ei ole määritetty ja Bash-komentosarjaa käyttävä käyttäjä käyttää toista Shellä, komentosarjan jäsentää mikä tahansa oletusetulkki, jota kyseinen Shell käyttää. Esimerkiksi
bash
oletuksen mukainen tulkki on
bash
ja
zsh
on
sh
. Jotta voidaan varmistaa, että skriptisi tulkitaan aina Bashin kanssa, sinun on määritettävä suoritettava polku shebangin avulla.
Shebang-direktiivissä ja tulkin asettamisessa on kaksi tapaa.
-
Absoluuttisen polun käyttäminen bash-binaariin:
#!/bin/bashenvapuohjelman käyttäminen:#!/usr/bin/env bash
Toisen lähestymistavan käytön etuna on, että se etsii suoritettavissa olevaa
bash
tiedostoa käyttäjän
$PATH
-ympäristömuuttujasta. Jos bashiin on enemmän kuin yksi polku, skripti käyttää ensimmäistä polkua.
Kun käytät ensimmäistä vaihtoehtoa lisättäessä vaihtoehto Bash-kuorihuoltoon, välitä se tulkille. Esimerkiksi komennon suorittamiseksi debug-tilassa käyttäisit
#!/bin/bash -x
. Jos käytät
env
menetelmää, sinun on käytettävä
set
ilmoittamaan vaihtoehto. Voit lisätä debug-moodin lisäämällä
set -x
shebang-rivin jälkeen.
Esimerkki käsikirjoituksesta
Luomme shebangilla yksinkertainen skripti, joka tulostaa ”Hei, maailma”. Avaa tekstieditori ja liitä seuraava rivi:
nano hello_world
Hei maailma
#!/bin/bash echo "Hello, World"
Jotta skripti voidaan suorittaa määrittämättä tulkkia komentoriviltä, sinun on tehtävä tiedostosta suoritettava:
chmod +x hello_world
Nyt jos voit suorittaa komentosarjan kirjoittamalla
./
ja sen jälkeen komentosarjan nimi:
./hello_world
Shebangin ohittaminen
Jos jostain syystä haluat ohittaa Shebang-rivillä olevan tulkin, sinun on suoritettava komentosarja määrittelemällä nimenomaisesti haluttu kuori.
Voit suorittaa esimerkiksi komentosarjan, jonka Shebang-rivillä on määritetty
#!/bin/sh
käyttämällä kirjoittamaasi
bash
kuorta:
bash hello_world
Huomaa, että ei ole hyvä idea ohittaa komentotulkki, koska se voi johtaa komentosarjan odottamattomaan käyttäytymiseen.
johtopäätös
Tähän mennessä sinulla pitäisi olla hyvä käsitys siitä, mikä on Shebang ja kuinka sitä käytetään Bash-skripteissasi.
bash-terminaaliBash-taulukot
Taulukot ovat yksi käytetyimmistä ja perusteellisimmista tietorakenteista. Tässä artikkelissa kerrotaan Bash-taulukot ja selitetään, kuinka niitä käytetään Bash-skripteissäsi.
Bash silmukasta
Bash-komentosarjoissa on 3 perussilmukkakonstruktiota silmukalle, silmukalle ja silmukkaan saakka. Tässä opetusohjelmassa käsittelemme silmukoiden perusteet Bashissa sekä katkoksia ja jatkamme lauseita silmukan virtauksen muuttamiseksi.
Bash: liitä tiedostoon
Linuxissa on useita tapoja liittää teksti tiedostoon. Tämä artikkeli selittää joitain niistä.







