Script
Sissejuhatus
Mis on Script?
Script on käsurea tööriist, mida on võimalik kasutada UNIX või Linux süsteemides 1. Windowsi-põhistes operatsioonisüsteemides sellist käsku vaikimisi ei eksisteeri. UNIX süsteemidel tuleb script käsk kaasa muidu vaikimisi installitava paketiga util-linux 5. Windowsisse on võimalik eraldi alla laadida näiteks MKS Toolkit, milles sisaldub sarnase funktsiooniga programm 6.
Script on selline käsk, mis salvestab mingisse logifaili kõik terminali aknas käivitatud käsud ja nende tulemused 1. Scripti kohta informatsiooni leidmine internetist on suhteliselt keeruline tegevus, sest sama väljendit kasutatakse ka testsuguste tähenduste juures. Lihtsamaks muutub otsimine kui kasutada lisaks märksõnale „script“ ka märksõnu „unix“ ja „typescript“.
Kasutusvaldkonnad
Script osutub kasulikuks näiteks:
- Tudengitele, kes soovivad salvestada käskude järjekorra tuleviku tarbeks 1.
- Programmeerijatele, kes soovivad salvestada süsteemi veateateid 2.
- Süsteemi administraatoritele kes tahavad salvestada näiteks mõne programmi installeerimise kulgu, et hiljem näha, kus tekkis viga või kasutada logifaili juhisena edaspidiste installide korral 2.
- Süsteemi jälgimistegevuse korral kui on mingil põhjusel tarvis salvestada logina kõik tegevus, mida terminaliaknas tehakse.
Ohukohad ja märkused
- Script töötab taustal võimaldades kasutada terminaliakent ilma piiranguteta kuni käsuni, mis lõpetab script käskluse töö3.
- Kui Script käsule ei anta ette faili, kuhu salvestada, salvestatakse tegevuste logi typescript nimelisse faili 3.
- Kui Script käsule anda ette fail, ei tohiks mitte mingil juhul failile anda nimeks programmifailide või süsteemifailide nimesid kuna Script käsk kirjutab vaikimisi üle faili sisu ning kaotab ära eelnevalt failis olnud sisu 3.
- Script salvestab tihtipeale ka lisaks ekraanil olevale väljundile ka mõned klahvikombinatsioonide vajutused 4
Script käsu kasutamine
Ilma parameetriteta
Kõige tavalisem viis scripti kasutada on:
script exit
Kusjuures käskude script ja exit vahele jääb salvestatav osa.
Joonisel 1 on kuvatud näide sellest, kui on käivitatud script käsk, seejärel on tehtud soovitavad toimingud, mida tahetakse salvestada ning lõpetatud script käsk. Joonisel 2 on kuvatud typescript nimelise faili sisu less käsuga (selle asemel võib ka kasutada ükskõik mis muud käsklust, mis kuvab faili sisu). Faili nimi on typescript kuna erinevat failinime ei täpsustatud ning fail asub samas kaustas, kus parajasti oldi kui script käsk käivitati.
Joonis 1: Script käsu käivitamine, kasutaja kala loomine ja script käsu lõpetamine.
Joonis 2: Script käsuga joonisel 1 loodud väljundifaili sisu.
Jooniselt 2 on näha see, et script käsu väljundisse on kirjutatud kõik mis toimus pärast script käsu käivitamist, lisatud on isegi script käsu enda teated. Jooniselt 2 on näha ka see, et scriptist väljumise käsklus exit on samuti kirja pandud ning ka sellega kaasnev scripti teade.
Etteantud väljundifailiga
Script käsule kindla failinime andmine, kuhu väljund salvestatakse:
script fail exit
Joonis 3: Script käsu käivitamine ja väljundi suunamine faili fail, ennustus.txt faili avamine less käsuga ning script käsu lõpetamine.
Joonisel 3 on näha seda, et lihtsalt failinime andmise korral teatab script käsklus, et mis faili salvestatakse väljund.
Joonis 4: Script käsuga joonisel 3 loodud väljundifaili kuvamine.
Joonisel 4 on näha see, et tõepoolest salvestati script käsu väljund faili nimega fail. Sellel joonisel on aga näha lisaks mõningaid muid märke, millega aknas käske sisestati. Näiteks vale teksti ära kustutamine või tab-nupu kasutamine võivad jätta kummalisi jälgi väljundifaili.
Lisaparameetrid
Script käsu juures on võimalik kasutada lisaks failinimele ka muid parameetreid olenevalt olukorrast, millal neid vaja läheb.
Parameetrid sisestatakse järgnevas järjekorras:
script [-a] [-c command] [-e] [-f] [-q] [-t[=file]] [-V] [-h] [file]
Parameetrite lahtiseletus:
-a, --append
Väljund lisatakse etteantud faili või typescript faili sisu lõppu, jättes alles ka faili eelneva sisu 5.
-c, --command command
Käivitab ainult konkreetse käsu ning salvestab selle tulemuse faili. Ei võimalda sisestada uusi käsklusi nagu vaikimisi script käsu puhul 5.
-e, --return
Tagastab alamprotsessist väljumise koodi. Näiteks 7:
Joonis 5: Käsklus script -e annab teate, et alamprotsess väljus koodiga 127 7.
-f --flush
Kirjutab uut infot väljundifaili reaalajas ehk iga kord kui scripti käimas olles midagi kirjutatakse, uuendatakse kohe ka väljundifaili 5.
--force
Võimaldab vaikimisi väljundifailil olla püsiv või sümboolne viide 5.
-q, --quiet
Tagasisidet ei anta 5.
-t, --timing[=file]
Väljastab ajastused kas tavapärasesse vigade väljundisse või etteantud faili. Annab informatsiooni selle kohta, kui palju on aega möödunud eelmisest sisestusest ning kui palju märke väljastati pärast antud sisestust. Võimaldab reaalajas skripti ette mängida justkui lindistusena näiteks scriptreplay käsuga 5.
-V, --version
Kuvab programmi versiooniteabe 5.
-h, --help
Kuvab lühiülevaate script käsu parameetritest 5.
Kasutatud kirjandus
[1] Linux / Unix Command: script
[2] Capturing a Session's Input and Output - The UNIX script Command - Part I
[3] The Unix "SCRIPT" command : a command recorder
[4] Capturing a Session's Input and Output - The UNIX script Command - Part II
[5] Script(1) - Linux manual page
[6] Script -- make typescript of terminal session
[7] Get exit code of command executed by the linux script command
Autor
Autor: Janne Pakkonen
Rühm: AK21
Semester: 2013 sügis