Yleistä
-------
Komentotulkki on ohjelma, jonka avulla kommunikoidaan tietokoneen
käyttöjärjestelmän kanssa. Komentotulkkia ei pidä sekoittaa itse
käyttöjärjestelmään, johon niitä voi olla saatavissa useita.
Komentotulkkia käytetään mm. ohjelmien käynnistämiseen, tiedostojen
kopiointiin, poistamiseen,suojaamiseen, tulostamiseen ja
uudelleennimeämiseen, hakemistojen luontiin ja poistamiseen, hakemiston
sisällön tulostamiseen, kellonajan asettamiseen ja lukemiseen.
Xeroxin Palo Alto Research Centerissä (PARC) kehitettiin viime
vuosikymmenen lopulla toisenlainen käyttäjäliitäntä, jota kutsutaan usein
WIMPiksi (Windows, Icons, Mouse, Pull-down menus).WIMP-pohjaisia
käyttäjäliitäntöjä ovat mm. GEM, Microsoftin Windows,IBM:n Presentation
Manager sekä Macintoshin että Amigan käyttäjäliitännät.
ST:n komentotulkkeja
--------------------
Atari ST:hen on ollut tarjolla komentotulkkeja heti sen tultua
markkinoille. Kyseessä ei suinkaan ole paluu vanhaan
ohjelmistoteknologiaan vaan yksinkertaisesti se, että kumpikin
käyttäjäliitäntä elää ja voi hyvin, kummallakin on vahvat puolensa.
ST:n käyttäjät ovat siitä onnellisessa asemassa, että he voivat valita
tilanteeseen parhaiten sopivan lähestymistavan. Komentotulkki
käynnistetään GEM Desktopista aivan kuten mikä tahansa ohjelma, paluu
Desktopiin tapahtuu yleensä komennolla exit.
Atari ST:hen on saatavissa mm. seuraavat komentotulkit: BATCH.TTP,
Beckemeyer MT-Shell, msh (Mark Williams micro-shell), COMMAND.TOS, Gulam,
Pcommand, SHELL.PRG. Näistä kolme ensiksi mainittua on kaupallisia
ohjelmia ja neljä viimeistä ilmaisohjelmia tai julkisohjelmia.
Pari esimerkkiä
---------------
Milloin komentotulkkia kannattaa käyttää? Paljolti on kysymys makuasiasta,
mutta selviäkin tapauksia on. Ajatellaanpa vaikka, että halutaan suojata
kaikki levykkeellä olevat .PRG-loppuiset tiedostot kirjoittamiselta (koko
levyn suojaus ei kelpaa, koska silloin levylle ei voi kirjoittaa ollenkaan)
GEM Desktopissa joutuu käymään erikseen läpi joka tiedoston (valitaan
hiirellä, valikosta Show Info (Näytä Tiedot), hiirellä kirjoitussuojaus
päälle, OK). Jokaisen suojattavan tiedoston kohdalla levyaseman moottori
käynnistyy, tiedot haetaan hakemistosta, muutokset tehdään, moottori
pysähtyy. Gulamissa annetaan vain komento: chmod -w *.prg, suoritus on
nopeaa, levyasema ei pysähtele tiedostojen välillä.
Toinen esimerkki: halutaan tulostaa kaikki a- ja b-alkuiset BASIC-tiedostot
kirjoittimelle. BASICissa jokainen tiedosto on ladattava ja tulostettava
erikseen. GEM Desktopissa joutuu valitsemaan jokaisen tiedoston erikseen
(kirjoitinspooleri helpottaa tilannetta hieman). Gulamissa annetaan
komento print [ab]*.bas ja koneen voi jättää itsekseen tulostamaan.
Komentotulkin käytöstä
----------------------
Kun komentotulkki käynnistetään, tulostuu yleensä jotain alkutekstejä.
Ohjelma saattaa suorittaa myös joitakin ennalta määrättyjä komentoja.
Kun kaikki on valmista, tulostuu näytölle kehoite (prompt) tiedoksi
siitä, että tulkki on valmis vastaanottamaan komentoja. Usein kehoite
kertoo sen, missä hakemistossa (kansiossa) ollaan. Komennon yleinen
muoto on:
komento [argumentit]
,missä "komento" on komennon nimi ja "[argumentit]" ovat lisätietoa,
jota komennon suorittamiseen saatetaan tarvita (hakasulut tarkoittavat
tässä sitä, että komento ei välttämättä tarvitse argumentteja).
esimerkkejä (Gulam):
date 01-18-88-19:17:30 asettaa ST:n kellon
rx peli.prg vastaanottaa Xmodemilla tiedoston peli.prg
gem 1st_word käynnistää GEM-ohjelman 1st-word
df a: b: näyttää vapaan levytilan A:ssa ja B:ssä
esimerkkejä (Pcommand):
type wcfields.c tulostaa tiedoston wcfields.c kuvaruudulle
ctty aux tulkki siirtyy ottamaan komentoja sarjaportista
arc x pd.arc ajaa ohjelman arc.ttp (purkaa arkiston pd.arc)
help tulostaa komentoluettelon
Ohjelmat käynnistettään kirjoittamalla ohjelman nimi ilman loppuliiteittä
.PRG, .TOS tai .TTP. GEM-ympäristöä käyttävät ohjelmat saattavat vaatia
jonkin pikkujutun toimiakseen (ks. 1st Word esimerkki edellä). Ohjelman
tulee olla joko siinä hakemistossa, jossa ollaan tai ns. polku (path) on
oltava määritelty siten että tulkki osaa hakea ohjelman oikeasta
hakemistosta tai ohjelman nimi on kirjoitettava polkuineen, esim:
a:\games\hack. Ohjelman mahdollisesti tarvitsemat argumentit tulee antaa
komentorivillä, niitä ei kysytä erikseen kuten ajettaessa .TTP-ohjelmia
GEM Desktopista.
Pitkät ja usein toistuvat komentosarjat voi etukäteen tallentaa ns.
komentotiedostoon (batch file, shell script). Komentotiedostoja voi
tehdä esim. MicroEmacsilla tai 1st Wordilla (ei WP-moodissa). Se
käynnistetään kuten ohjelma, ilman loppuliitettä (esim. Gulamissa .g-,
Pcommandissa .bat-loppuinen). Komentotiedosto voi myös olla mahdollista
käyttää argumentteja, ehtotestejä ja silmukoita sekä tehdä käyttäjälle
kysymyksiä, riippuen komentotulkin laajuudesta. Yleensä tietynniminen
komentotiedosto (esim. gulam.g, autoexec.bat) suoritetaan aina kun tulkki
käynnistetään. Näin voidaan oma työympäristö voidaan automaattisesti
muokata sellaiseksi kuin halutaan.
Lopuksi
-------
Kullakin komentotulkilla on omat hyvät ja huonot puolensa kuten muillakin
ohjelmilla. Komentokielen rakennekin tietysti vaihtelee. Lopuksi katsotaan
hieman kahta suosittua komentotulkkia, Gulam sekä Pcommand, jotka
kummatkin ovat olleet diskettilehdessä, numeroissa 3/87 (Gulamin alpha-
versio) ja 1/87 (Pcommandin versio 1.00).
PCommand
Pcommand on ns. shareware-tuote, sitä ja sen dokumentteja saa vapaasti
levittää, muttei myydä, ei myöskään osana muuta ohjelmistoa ilman lupaa.
Rekisteröityminen maksaa $25 johon sisältyy täydellinen dokumentaatio,
desk accessory -versio Pcommandista, sekä IBM PC -yhteensopivia 3 1/2 "
levykkeitä (1 & 2 -puolisia) formatoiva ohjelma. Ohjelman tekijä on
Solid Applications Inc.
1333 Moon Drive
Yardley, PA 19067
Pcommand on riviorientoitunut komentotulkki, joka tukee komentotiedostoja.
Se tarjoaa interaktiivisen liitännän TOSiin, ST:n käyttöjärjestelmään.
Komennot ovat samankaltaisia kuin MS-DOSin komentotulkissa. Pcommandista
käsin voi nopeammin käyttää TOSin palveluita kuin GEMin Desktopista käsin.
Pcommandissa on joukko sisäänrakennettuja komentoja. Sen lisäksi siitä
käsin pystyy ajamaan sekä GEM- että TOS-pohjaisia sovelluksia.
Komentotiedostot voivat käyttää GEMin keskustelu- ja virheilmoituskenttiä.
Pcommandin sisäänrakennetut komennot
? ABORT BELL BREAK BYE CD CHAIN CHDIR
CLS COPY CP CTTY DATE DEL DIR D
ECHO ERASE ERA EXIT FOR GEM GOTO HELP
IF INPUT LOG MKDIR MD PATH PAUSE PRINT
PROMPT QED REM REN RENAME RESERVE RMDIR RD
SET SHIFT STACK SWITCHAR TIME TOS TYPE VER
VERIFY VOL WRAP
Gulam
Gulam on täysin ilmainen tuote, sen tekijä rohkaisee antamaan ohjelman
toisille, maksua siitä ei saa ottaa. Gulamissa on yli 60 sisäänrakennettua
komentoa, tiedostonimen täydennys, komentopino (annettuja komentoja
muistetaan n kpl, niitä voi antaa uudelleen sekä editoida), komentojen
uudelleen nimeäminen, polun etukäteisetsintä (rehash), 'MicroEmacs'-
editori, yksinkertainen pääte-emulaattori, xmodem-tiedostonsiirto,
merkkijonon etsintä tiedostosta (egrep), kirjoitintulostus sekä
syötön/tulostuksen uudelleenohjaus.
Gulam muistuttaa Unix 4.xBSD:n komentotulkkia 'csh'. Eroja kuitenkin on.
Uudemman beta-version saa esim.Husky BBS:stä tai ohjelmointiryhmästä
(kannattaa sopia etukäteen). Gulam ei tunne skandinaavisia merkkejä.
Diskettilehdessä ollut Gulam on sovitettu skandinäppäimistölle
(erikoismerkit löytyvät oikeista paikoista), Huskyssa olevassa tiedostossa
on mukana C-source, josta voi modifioiden tehdä ohjelman, joka sovittaa
näppäimistön. Ohjelmointiryhmän Gulamissa näppäimistö on valmiiksi
sovitettu.
Gulamin sisäänrakennetut komennot:
alias dm endwhile help more printenv set ue
cat dirc exit history mson pushd setenv unalias
cd dirs fg if msoff pwd source unset
chmod echo fgrep kb mv rehash sx unsetenv
copy egrep foreach lpr peekw ren te which
cp ef format ls pokew rm teexit while
date endfor gem mem popd rmdir time
df endif grep mkdir print rx touch
Esa Matti Lippu
|