Which
Autor
Sven Rekkaro AK21
Sügis 2014
Sissejuhatus
"which" on lihtne käsk, mis võimaldab leida käsu või skripti käivitusfaili täispika tee keskkonnamuutujas $PATH kirjeldatud süsteemi- ja/või kasutaja kaustadest. Kui kasutaja sisestab Linuxi käsureale käsu, siis kontrollib Linuxi kest (shell) $PATH keskkonnamuutujas kirjeldatud kaustades käsule vastava käivitusfaili olemasolu. Kui sobivat käivitusfaili ei leita, siis kuvatakse veateade "command not found," käivitusfaili olemasolu korral see käivitatakse. Analoogselt Linuxi kestale toimib ka käsklus "which," mis tagastab sisestatud käsu täispika tee, kui käivitusfail leitakse või tagastab veateate kui käsule on lisatud mitte-eksisteeriv optsioon. Programm ei kontrolli $PATH muutujas kirjeldatud kaustades asuvaid Symbolic linke. Programmil on kolm tagastusväärtust:
- 0 - argumendile vastav käivitusfail leiti
- 1 - argumendile vastavat käivitusfaili ei leitud
- 2 - käsk sisestati koos vigase optsiooniga
[1] (URL: http://linux.about.com/library/cmd/blcmdl1_which.htm) [2] (http://manpages.debian.org/cgi-bin/man.cgi?query=which&apropos=0&sektion=0&manpath=Debian+7.0+wheezy&format=html&locale=en)
Käsu süntaks
Käsk "which" süntaks erineb mõningal määral, olenevalt kasutusel olevast Linux või BSD distributsioonist. Vähemate võimalustega on käsklus Debianil põhinevatel Linuxitel [3] (http://manpages.debian.org/cgi-bin/man.cgi?query=which&apropos=0&sektion=0&manpath=Debian+7.0+wheezy&format=html&locale=en). Keerukam on käsu süntaks teistel Unixil põhinevatel operatsioonisüsteemidel, näiteks Gentoo 2.6.23-gentoo-r8. [4] (http://unixhelp.ed.ac.uk/CGI/man-cgi?which). Käsk ei vaja toimimiseks juurkasutaja õiguseid.
Süntaks Debianil põhinevatel Linuxitel
which [optsioonid] argument Optsioonid: -a prindib välja kõikide argumentide kõik leitud täispikad teed. Ilma võtmeta "-a" prinditakse ainult esimene leitud väärtus
argument- programmi, skripti või käsu nimetus. Argumente võib sisestada mitu.
Teised Unixi-laadsed operatsioonisüsteemid
which [optsioonid] argument