Echo: Difference between revisions
No edit summary |
No edit summary |
||
Line 69: | Line 69: | ||
</pre> | </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> |
Revision as of 21:48, 16 May 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 mitme kü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 ( üheksa faili ja kausta siin kataloogis 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