Komentosarjakieli

Wikipedia
Loikkaa: valikkoon, hakuun

Komentosarjakieli eli skriptikieli on kieli, jolla kirjoitetaan komentosarjoja eli skriptejä. Näillä automatisoidaan tehtäviä ilman, että tarvitaan varsinaisia ohjelmointikieliä.

Alkuperäinen merkitys[muokkaa | muokkaa wikitekstiä]

Lähes kaikille käyttöjärjestelmille on tarjolla tekstimuotoinen käyttöliittymä, jolla voidaan käynnistää ohjelmia ja antaa monipuolisia komentoja. Pian todettiin tarve automatisoida tällaisten komentojen antamista siten, että sama tehtävä voidaan suorittaa uudelleen helposti. Komentosarjakielten ominaisuuksia ovat:

  • suorituksen parametrisointi (eri argumentit eri suorituskerroilla, esimerkiksi sen tiedoston nimi, johon toiminta kohdistuu)
  • muuttujien käyttö (esimerkiksi pitkän tiedoston nimi annetaan vain kerran ja myöhemmin komennoissa käytetään lyhennettä)
  • ehdollinen suoritus
  • toisto

Tällä hetkellä tyypillisimpiä komentosarjakieliä ovat Unix/Linux-tietokoneiden komentokielet (sh, bash, tcsh, ksh) ja Windows-tietokoneissa MS-DOS-ajalta periytyvät BAT-tiedostot, sekä Macintosh -käyttöjärjestelmien AppleScript. Uusimmissa Windows-versioissa komentosarja voidaan kirjoittaa myös .CMD-päätteiseen tiedostoon, erityisesti tapauksissa, joissa komentosarja ei toimisi DOS-ympäristössä. Vastaavia kieliä löytyy kuitenkin kaikista suurkonekäyttöjärjestelmistäkin (esimerkiksi IBM VM/CMS EXEC2).

Alkuperäinen tärkeä komentosarjakielten käyttötarkoitus oli eräajojen ohjaaminen.

Komentosarjakielet vs. makrokielet[muokkaa | muokkaa wikitekstiä]

Makrokielet ovat hyvin samanlaisia kuin komentosarjakielet, mutta niiden tavoitteena on tuottaa tekstitiedosto eikä suorittaa käyttöjärjestelmällä komentoja. Makrokieliä ovat esimerkiksi Unix/Linux järjestelmän m4 ja kaikkien C-kääntäjien cpp-esikääntäjä. Myös julkaisujärjestelmä TeX (ja LaTeX) on makrokieli.

Käsitteessä näppäimistömakro sanaa makro käytetään samassa merkityksessä kuin komentosarjakielissä. Näppäimistömakroissa nauhoitetaan ohjelman käytössä käytettävät näppäinten painallukset ja nämä näppäinten painallukset voidaan sitten toistaa.

Komentosarjakielten laajentaminen graafisiin käyttöliittymiin[muokkaa | muokkaa wikitekstiä]

Joissain järjestelmissä myös graafisen ohjelman käyttö muunnetaan tekstimuotoisiksi komennoiksi, jolloin käyttö voidaan nauhoittaa kuten näppäimistömakrot ja muuntaa komentosarjakielelle. Tällöin myös graafisia komentoja voidaan automatisoida. Joissain järjestelmissä tällaisia komentoja sanotaan komentosarjoiksi ja toisissa makroiksi. Tällaisia järjestelmiä on toteutettu TCL- ja Visual Basic -komentosarjakielillä.

Uudet "komentosarjakielet"[muokkaa | muokkaa wikitekstiä]

Termi komentosarjakieli on yleistetty tarkoittamaan kaikkia kieliä, joilla on helppoa suorittaa käyttöjärjestelmällä eri tyyppisiä toimintoja helposti ilman ohjelman kääntämistä. Tällaista ohjelmaa kutsutaan yhä komentosarjaksi (yleisemmin "skripti") vaikka se ei suorittaisi yhtään komentoa. Tällaisia uusia komentosarjakieliä ovat mm.

Ja lisäksi termi on otettu käyttöön muutamissa muissa edellisen kaltaisissa kielissä, joissa kuitenkin yhteys ohjelmakomentoihin on jo täysin kadonnut:

Komentosarjakielestä on tulossa synonyymi tulkattavalle ohjelmointikielelle.