Exec: Difference between revisions
Line 59: | Line 59: | ||
</pre> | </pre> | ||
Seejärel loeme exec käsuga antud faili sisse | Seejärel loeme exec käsuga antud faili sisse: | ||
<pre> | <pre> | ||
exec < test.txt | exec < test.txt | ||
</pre> | </pre> | ||
Tulemuseks avaneb meil kõigepealt firefox. Kui me nüüd selle sulgeme, avaneb meil automaatselt gedit ja kui omakorda selle sulgeme, siis avaneb jällegi firefox. Sellise loogikaga võime panna ühte faili erinevaid skripte, mis ise automaatselt lõpetavad töö ning kui töö on lõpetatud st skript sulgenud - võetakse ette järgmine jne. | |||
== Kokkuvõte == | == Kokkuvõte == |
Revision as of 20:36, 15 January 2015
Tauno Põitel, AK 21
Sissejuhatus
Käesolev artikkel vaatleb lähemalt Unixi käsklust exec.
Antud käsul on 2 erinevat funktsiooni: saad vahetada shelli ning manipuleerida standardsisendite ja väljunditega, sealhulgas koostada nn järjestikprotsesse. (viimane funktsioon ei pruugi olla toetatud kõikide shellide poolt)
Antud käsklust saad kasutada ükskõik millise kasutaja rollis olles.
Käsklust on proovitud ubuntu 14.04 LTS peal, teoorias peaks käsklus töötama samamoodi ka teiste unix süsteemidega.
Süntaks
exec [-cl] [-a name] [command [arguments]]
[1]
exec < fromfile
[2]
Võtmed
Antud käsklus paneb praeguse shelli kinni ja avab uue programmi vastavalt käsklusele:
exec [command]
Antakse nimi käskluse nullindale argumendile argv[0]:
exec -a name
Järgnev käsklus avab programmi tühjas/puhtas keskkonnas:
exec -c
Lisatakse nullindale argumendile sidekriips ette:
exec -l
Näited
Näide.1 - shelli vahetamine
Kui soovime olemasoleva shelli asemel kasutada näiteks csh-d, kasutame alljärgnevat käsklust:
exec csh
NB! kui tuleb teade, et "not found" tuleb eelnevalt csh installeerida:
apt-get install csh
Näide.2 - failist lugemine, järjestikprotsessid
Loome mingi suvalise test.txt faili, kuhu näiteks paneme sisse alljärgnevad kirjed:
firefox gedit firefox
Seejärel loeme exec käsuga antud faili sisse:
exec < test.txt
Tulemuseks avaneb meil kõigepealt firefox. Kui me nüüd selle sulgeme, avaneb meil automaatselt gedit ja kui omakorda selle sulgeme, siis avaneb jällegi firefox. Sellise loogikaga võime panna ühte faili erinevaid skripte, mis ise automaatselt lõpetavad töö ning kui töö on lõpetatud st skript sulgenud - võetakse ette järgmine jne.
Kokkuvõte
Kokkuvõtvalt võiks öelda, et kui kasutajal on vaja shelli muuta mingil põhjusel, siis ta saab seda selle käsklusega väga lihtsalt teha. Lisaks saab luua erinevaid skripte, mis järgemööda tööle lähevad. Näiteks kui üks saab oma töö tehtud, siis hakkab teine tööle.
Kasutatud materjalid
[1] http://www.gnu.org/software/bash/manual/bashref.html#What-is-Bash_003f
[2] http://docstore.mik.ua/orelly/unix/upt/ch45_07.htm
[3] http://www.softpanorama.org/Tools/exec.shtml#A_method_of_redirection_of_STDIN_or_STDOUT
--Tpoitel 21:08, 3 January 2015 (EET)