Echo: Difference between revisions
No edit summary |
|||
(6 intermediate revisions by one other user not shown) | |||
Line 7: | Line 7: | ||
<pre> | <pre> | ||
echo "Tere maailm" | echo "Tere maailm" | ||
Tere maailm | |||
</pre> | </pre> | ||
== Kasutamine ja näited == | == Kasutamine ja näited == | ||
=== -e abil reavahetus === | === -e abil reavahetus === | ||
Echo on | Echo on mitmekülgne käsk, näiteks võtme -e erinevad kasutus võimalused. | ||
\a on häälega väljastamine juhuks kui koguaeg silmad ekraanil pole. | \a on häälega väljastamine juhuks kui koguaeg silmad ekraanil pole. | ||
<pre> | <pre> | ||
echo -e "\aÄRKA | echo -e "\aÄRKA" | ||
ÄRKA | |||
</pre> | </pre> | ||
Line 20: | Line 22: | ||
<pre> | <pre> | ||
echo -e "Täna \bn" | echo -e "Täna \bn" | ||
Tänan | |||
</pre> | |||
\c lõikab peale asetust teksti ära | |||
<pre> | |||
echo -e "Tere \cmulle ei maitse banaan" | |||
Tere | |||
</pre> | |||
\f on reavahetus mis algab eelmise lause lõpemise koha alt täpselt | |||
<pre> | |||
echo -e "Tere \ftest \ftsau" | |||
Tere | |||
test | |||
tsau | |||
</pre> | </pre> | ||
\n on reavahetuseks. | \n on reavahetuseks. | ||
\n on hea kasutada, kui on vaja kindlal kohal reavahetust, näiteks logidesse trükkides või muutujaid väljastades mis võiks eri ridades olla. | |||
<pre> | <pre> | ||
echo -e "Tere \nolen test \nnägemist" | echo -e "Tere \nolen test \nnägemist" | ||
Tere | |||
olen test | |||
nägemist | |||
</pre> | </pre> | ||
\r vahetab pärast \r oleva eelneva lause algusega ainult oma tähemärkide pikkusena. | |||
<pre> | |||
echo -e "Kasi minema r\tule siia" | |||
tule siiama | |||
</pre> | |||
\t on tab | |||
echo -e "kao | |||
<pre>Kasi minema \ttule siia" | |||
kao Kasi minema tule siia | |||
</pre> | |||
sarnane \f ile on ka \v mis algab eelmise realõppu asukohast uuel real. | |||
<pre> | |||
echo -e "kao Kasi minema \vtule siia" | |||
kao Kasi minema | |||
tule siia | |||
</pre> | |||
=== Echo faili salvestamine === | === Echo väljundi faili salvestamine === | ||
Võib kasutada ka lihtsamate logide sisestuse jaoks, et muutuseid jälgida. | Võib kasutada ka lihtsamate logide sisestuse jaoks, et muutuseid jälgida. | ||
<pre> | <pre> | ||
Line 45: | Line 82: | ||
<pre> | <pre> | ||
echo "Tänane kuupäev on $(date)" | echo "Tänane kuupäev on $(date)" | ||
Tänane kuupäev on Mon May 16 22:21:14 EEST 2011 | |||
</pre> | </pre> | ||
Line 51: | Line 89: | ||
<pre> | <pre> | ||
echo {one,two,red,blue}fish | echo {one,two,red,blue}fish | ||
onefish twofish redfish blue fish | |||
</pre> | </pre> | ||
Line 60: | Line 99: | ||
<pre> | <pre> | ||
echo $? | echo $? | ||
0 | |||
</pre> | </pre> | ||
Line 69: | Line 109: | ||
<pre> | <pre> | ||
echo * | wc | echo * | wc | ||
1 9 84 | |||
( 1 kataloog 9 faili ja kausta ja 84 koos alamkaustadega kokku) | |||
</pre> | </pre> | ||
Line 75: | Line 117: | ||
<pre> | <pre> | ||
echo */ | wc | echo */ | wc | ||
1 9 75 | |||
(75 siis 9 on välja jäätud ehk ainult alam kaustad ja failid) | |||
</pre> | </pre> | ||
Saamaks ainult kataloogis asuvate failide arvu teada. | Saamaks ainult kataloogis asuvate failide arvu teada. | ||
Line 81: | Line 125: | ||
<pre> | <pre> | ||
echo *.* | wc | echo *.* | wc | ||
1 1 17 | |||
(üks fail siin kataloogis ja 17 alam kataloogides) | |||
</pre> | </pre> | ||
Line 138: | Line 184: | ||
* http://www.computerhope.com/unix/uecho.htm | * http://www.computerhope.com/unix/uecho.htm | ||
* http://lowfatlinux.com/linux-echo-command.html | * http://lowfatlinux.com/linux-echo-command.html | ||
[[Category:IT infrastruktuuri teenused]] | |||
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]] |
Latest revision as of 09:42, 27 October 2011
Priit Pobbul A22
Sissejuhatus
Echo on informatsiooni tagastamiseks, nagu ka sõna tähendus "kaja" ongi sisuliselt echo eesmärk tagastada kasutaja poolt soovitud teksti, käske või muutujaid.
Süntaks
echo "Tere maailm" Tere maailm
Kasutamine ja näited
-e abil reavahetus
Echo on mitmekülgne käsk, näiteks võtme -e erinevad kasutus võimalused. \a on häälega väljastamine juhuks kui koguaeg silmad ekraanil pole.
echo -e "\aÄRKA" ÄRKA
\b on backspace asendus võib vaja minna kui mõne muutuja lõpp vaja ära süüa.
echo -e "Täna \bn" Tänan
\c lõikab peale asetust teksti ära
echo -e "Tere \cmulle ei maitse banaan" Tere
\f on reavahetus mis algab eelmise lause lõpemise koha alt täpselt
echo -e "Tere \ftest \ftsau" Tere test tsau
\n on reavahetuseks. \n on hea kasutada, kui on vaja kindlal kohal reavahetust, näiteks logidesse trükkides või muutujaid väljastades mis võiks eri ridades olla.
echo -e "Tere \nolen test \nnägemist" Tere olen test nägemist
\r vahetab pärast \r oleva eelneva lause algusega ainult oma tähemärkide pikkusena.
echo -e "Kasi minema r\tule siia" tule siiama
\t on tab echo -e "kao
Kasi minema \ttule siia" kao Kasi minema tule siia
sarnane \f ile on ka \v mis algab eelmise realõppu asukohast uuel real.
echo -e "kao Kasi minema \vtule siia" kao Kasi minema tule siia
Echo väljundi faili salvestamine
Võib kasutada ka lihtsamate logide sisestuse jaoks, et muutuseid jälgida.
echo 'File has been deleted' > /tmp/log.txt
Praegu siis loodi näite jaoks tmp kausta logi fail, mida üks korralik admin eales ei teeks. Hea lihtne viis teada saada, mis mõnes skriptis toimub näiteks. Kasutades skriptis, kus juhul kui midagi kustutatakse, siis väljastatakse see echo on hea jälgida, mida keegi teinud on, saab ka lisada muutujatena kasutajad ning kasutus aja.
Echo ja muutujad
Echo on võimeline ka muutujaid näitama, mis järjekordselt kasuks mõnes skriptis.
echo "Tänane kuupäev on $(date)" Tänane kuupäev on Mon May 16 22:21:14 EEST 2011
Lühendamiseks hea nipp
Teine kord kui vaja, siis saab ka lühendada oletades et mingi väljundi esimene osa on muutuv ja lõpp alati sama. Saab ka vastupidi.
echo {one,two,red,blue}fish onefish twofish redfish blue fish
!NB Siin enam pole "" sest siis see funktsioon ei töötaks ja väljastataks täpselt samal kujul, nagu sisend on.
Eelmise käsu lõppemise staatus
Echo võimaldab isegi vaadata, kas eelmine käsk lõpetas korrektselt või oli seal viga.
echo $? 0
Väljundi 0 puhul oli käsu toiming ja lõpp korrektne, 1-255 puhul oli mingi viga.
Vaata palju faile kauste siin on
Saamaks teada kui palju faile ja kaustu on praeguses ja alam kataloogides.
echo * | wc 1 9 84 ( 1 kataloog 9 faili ja kausta ja 84 koos alamkaustadega kokku)
Saamaks teada ainult selles kataloogis, kus kasutaja on, kaustade arvu.
echo */ | wc 1 9 75 (75 siis 9 on välja jäätud ehk ainult alam kaustad ja failid)
Saamaks ainult kataloogis asuvate failide arvu teada.
!NB Selles näites on oletatud, et failidel on laiendid, mistõttu . märke abil neid leida saaks! Ilma faililaiendita faile sel juhul ei loeta.
echo *.* | wc 1 1 17 (üks fail siin kataloogis ja 17 alam kataloogides)
Kasutatavad võtmed
NAME
echo - display a line of text
SYNOPSIS
echo [SHORT-OPTION]... [STRING]... echo LONG-OPTION
DESCRIPTION
Echo the STRING(s) to standard output.
-n do not output the trailing newline
-e enable interpretation of backslash escapes
-E disable interpretation of backslash escapes (default)
--help display this help and exit
--version output version information and exit
If -e is in effect, the following sequences are recognized:
\0NNN the character whose ASCII code is NNN (octal)
\\ backslash
\a alert (BEL)
\b backspace
\c produce no further output
\f form feed
\n new line
\r carriage return
\t horizontal tab
\v vertical tab