Korn Shell (ksh) programmeerimine

Original: http://www.bolthole.com/solaris/ksh.html

See on minu “Korni koondprogrammi sisestamise” puu peamine tase. Korn-shell on shell-skripti keel, samuti kasutaja tasandi sisselogimis-shell. See on ka POSIX.1-ga ühilduva shelli superset, mis on suurepärane portabilityi tagamiseks.


Miks skriptimine?

Skriptimine, kui see on tehtud õigesti, on lihtne ja kiire viis “tööd teha” ilma tavapärase “koodi koostamiseta, testimisse, debugerimiseta” C kirjutamise või mõne muu kompileeritud keele kirjutamise pealkirjas. See on lihtsam kui C mitmel põhjusel:

  1. Scripting käsklused on tavaliselt loetavamad kui madala taseme kood. (välja arvatud perl)
  2. Scripting languages kipuvad tulema võimas vahendeid lisatud
  3. Faasi ei kompileerita, nii et “tutistamist” saab teha kiiresti.

UNIX kipub võtma # 2 äärmuslikeks, kuna see on standard “võimsate tööriistadega”, mida saab kokku puutuda torude või muude mehhanismidega, et saada soovitud tulemus lühikese arendusajaga. See ei pruugi olla sama efektiivne kui täielikult kompileeritud lahendus, kuid üsna tihti on see võimalik “tööd teha” mõne sekundi pärast, võrreldes koostatud programmi ühe sekundiga või vähemaga.

Prototüübina saab kasutada kiire skriptimise lahendust. Seejärel, kui olete juba mõnda aega õnnelikult prototüüpi kasutanud ja olete oma käitumist, mille teie lõppkasutajad on kõige õnnelikumad, võite tagasi minna ja koodi anda kiiremale ja vastupidavale lahendusele madalama taseme keeles.

See ei tähenda, et skriptid ei saa olla kindlad! Skriptides on võimalik teha palju vigu. Kahjuks ei ole see tavapärane.


Mida saate teha ksh-ga?

Hulk palju!
Teil on juurdepääs kogu UNIX-i utiliitidele, lisaks mõned hämmastavad sisseehitatud ressursid.

Üldiselt on UNIX-i skriptid korrektselt kasutatavad erinevate käsurea kommenteeritud, kusjuures kest on vahend, mis hõlbustab iga sammu vahelist suhtlemist.
Kahjuks võib kõigi nende “väliste” programmide käitamine mõnikord põhjustada asju küllalt aeglaselt. Sellepärast on kshil veel mõned veel “ehitatud” asjad kui vanemad “sh”.

Miks ksh, mitte programmeerimiseks XYZsh?

Bourne shell on olnud “standard” UNIX shellscript keele aastaid. Siiski puuduvad mõned asjad, mis oleksid väga kasulikud põhitasemel. Mõni neist asjadest lisati hiljem C-shellile (csh). Siiski on csh mitmesugustel põhjustel programmeerimisel ebasoovitav.
Õnneks lisab ksh enamus asju, mida inimesed ütlevad, et csh on, kuid sh seda ei tee. Nii palju, et ksh sai “POSIX shelli” aluseks. See tähendab, et kõik korralikud POSIX-ühilduvad süsteemid peavad omama midagi ühilduvat, kuigi nüüd on see nimega sh nagu vana Bourne shell. (Näiteks /usr/xpg4/bin/sh on LINK kataloogile /bin/ksh solaris!) Täpsemalt öeldes on POSIX-i ühilduva shelli käitumine määratletud “IEEE POSIX 1003.2”

Muideks: “Korn shell” kirjutas “David Korn”, umbes 1982 AT & T Labs. Nüüd võite vabalt alla  täielik allikas AT & T  kui sa ei ole õnn kasutada OS, mis on kaasas ksh juba. See on “open source”, isegi!


Peatüki pealkirjad

Nüüd jõuame hea kraamini. Pidage meeles: peaksid lugema neid järjekorras. Kui te ei saa aru kõigist eelmistest peatükkidest, võite olla väga segaduses.


See materjal Copyright 2000-2011 Philip Brown

Osa  bolthole.com …  Solaris vihjeid  …  AWK õpetus  …  OO programmeerimise õpetus