Echo

From ICO wiki
Revision as of 10:35, 17 May 2011 by Ppobbul (talk | contribs)
Jump to navigationJump to search

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

Näited väljaspoolt, kus kasutatakse echot

Kasutatud kirjandus