Koodin järjestäminen funktioihin

Bash:
Koodin järjestäminen funktioihin

Miten:

Luo yksinkertainen funktio Bashissa:

greet() {
  echo "Hello, $1!"
}

Käytä sitä kutsumalla funktiota parametrin kanssa:

greet "World"  # Tulostus: Hello, World!

Funktiot voivat palauttaa arvoja käyttäen return-komentoa numeerisille tilakoodeille (ei kuitenkaan varsinaisten tietojen palautukseen):

add() {
  return $(($1 + $2))
}

add 3 4
echo $?  # Tulostus: 7

Huomaa, että $? tallentaa viimeisen komennon paluuarvon, joka on add-funktion numeerinen tulos.

Syventävä osio

Bashissa funktiot ovat olleet tapa paketoida koodia jo alkuperäisestä versiosta lähtien. Historiallisesti, funktioiden käyttö heijastelee 1960-luvulla esitettyjä rakenteellisen ohjelmoinnin periaatteita, joiden tavoitteena oli parantaa koodin laatua.

Vaihtoehtoja funktioille ovat muiden skriptitiedostojen lähdekoodin sisällyttäminen tai aliasten käyttö, mutta nämä eivät tarjoa samaa modulaarisuuden ja uudelleenkäytettävyyden tasoa.

Eräs merkittävä toteutuksen yksityiskohta Bashissa on se, että funktiot ovat ensiluokkaisia toimijoita; niillä ei ole erityistä määritysavaainsanaa kuten function muilla kielillä, vaikkakin function on Bashissa valinnainen luettavuuden vuoksi. Funktion skooppi on myös mielenkiintoinen – muuttujat ovat oletuksena globaaleja, ellei niitä ole määritelty paikallisiksi, mikä voi johtaa odottamattomaan käyttäytymiseen, jos sitä ei hallita asianmukaisesti.

Katso myös