Exec: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Tpoitel (talk | contribs)
Tpoitel (talk | contribs)
No edit summary
 
(9 intermediate revisions by the same user not shown)
Line 5: Line 5:


Käesolev artikkel vaatleb lähemalt Unixi käsklust exec.<br>
Käesolev artikkel vaatleb lähemalt Unixi käsklust exec.<br>
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)<br>
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) [http://www.softpanorama.org/Tools/exec.shtml#A_method_of_redirection_of_STDIN_or_STDOUT]<br>
Antud käsklust saad kasutada ükskõik millise kasutaja rollis olles. <br>
Antud käsklust saad kasutada ükskõik millise kasutaja rollis olles. <br>
Käsklust on proovitud ubuntu 14.04 LTS peal, teoorias peaks käsklus töötama samamoodi ka teiste unix süsteemidega.
Käsklust on proovitud ubuntu 14.04 LTS peal, teoorias peaks käsklus töötama samamoodi ka teiste unix süsteemidega.
Line 11: Line 11:
== Süntaks ==
== Süntaks ==


exec [-cl] [-a name] [command [arguments]] [http://www.gnu.org/software/bash/manual/bashref.html#What-is-Bash_003f &#91;1&#93;]<br>
exec [-cl] [-a name] [command [arguments]] <br>
exec < fromfile [http://docstore.mik.ua/orelly/unix/upt/ch45_07.htm &#91;2&#93;]<br>
[http://www.gnu.org/software/bash/manual/bashref.html#What-is-Bash_003f &#91;2&#93;]<br><br>
exec < fromfile <br>
[http://docstore.mik.ua/orelly/unix/upt/ch45_07.htm &#91;3&#93;]<br>


== Võtmed ==
== Võtmed ==
Paneb praeguse shelli kinni ja avab uue programmi vastavalt käsklusele:
Antud käsklus paneb praeguse shelli kinni ja avab uue programmi vastavalt käsklusele:
<pre>
<pre>
exec [command]
exec [command]
</pre>
</pre>
Annab nime käskluse nullindale argumendile argv[0]:
Antakse nimi käskluse nullindale argumendile argv[0]:
<pre>
<pre>
exec -a name
exec -a name
</pre>
</pre>
Avab programmi tühjas/puhtas keskkonnas:
Järgnev käsklus avab programmi tühjas/puhtas keskkonnas:
<pre>
<pre>
exec -c
exec -c
</pre>
</pre>
Lisab nullindale argumendile sidekriipsu ette:
Lisatakse nullindale argumendile sidekriips ette:
<pre>
<pre>
exec -l
exec -l
Line 57: Line 59:
</pre>
</pre>


Seejärel loeme exec käsuga antud faili sisse ning 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.
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.


== Kokkuvõte ==
== Kokkuvõte ==
Line 69: Line 72:
== Kasutatud materjalid ==
== Kasutatud materjalid ==


[http://www.gnu.org/software/bash/manual/bashref.html#What-is-Bash_003f http://www.gnu.org/software/bash/manual/bashref.html#What-is-Bash_003f]
[1] [http://www.softpanorama.org/Tools/exec.shtml#A_method_of_redirection_of_STDIN_or_STDOUT http://www.softpanorama.org/Tools/exec.shtml#A_method_of_redirection_of_STDIN_or_STDOUT] <br>
[2] [http://www.gnu.org/software/bash/manual/bashref.html#What-is-Bash_003f http://www.gnu.org/software/bash/manual/bashref.html#What-is-Bash_003f]
<br>
<br>
[http://docstore.mik.ua/orelly/unix/upt/ch45_07.htm http://docstore.mik.ua/orelly/unix/upt/ch45_07.htm] <br>
[3] [http://docstore.mik.ua/orelly/unix/upt/ch45_07.htm http://docstore.mik.ua/orelly/unix/upt/ch45_07.htm] <br> <br>
[http://www.softpanorama.org/Tools/exec.shtml#A_method_of_redirection_of_STDIN_or_STDOUT http://www.softpanorama.org/Tools/exec.shtml#A_method_of_redirection_of_STDIN_or_STDOUT] <br>


----
----
--[[User:Tpoitel|Tpoitel]] 21:08, 3 January 2015 (EET) <br>
--[[User:Tpoitel|Tpoitel]] 21:08, 3 January 2015 (EET) <br>
[[Category: Operatsioonisüsteemide administreerimine ja sidumine]]
[[Category: Operatsioonisüsteemide administreerimine ja sidumine]]

Latest revision as of 20:44, 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) [1]
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]]
[2]

exec < fromfile
[3]

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.

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.softpanorama.org/Tools/exec.shtml#A_method_of_redirection_of_STDIN_or_STDOUT
[2] http://www.gnu.org/software/bash/manual/bashref.html#What-is-Bash_003f
[3] http://docstore.mik.ua/orelly/unix/upt/ch45_07.htm


--Tpoitel 21:08, 3 January 2015 (EET)