Králem snadno, rychle a vesele II. část

kral1S největším hrdinou se asi seznámil každý, kdo měl to potěšení chodit do školy. Byl to Titus Livius, který v nějaké bitvě pro Caesara ztratil levou paži a živil se žebráním po ulicích Říma. Jednou ho potkal Caesar a jednoruký Livius mu připomněl, že by mohl dostati nějakou podporu. „Nebyl jsi dosti statečný“, povídá mu Augustus, „stateční ztratili v bitvě obě ruce!“ Načež se Titus dopálil, vytasil meč a usekl si zbylou paži.

Nebudeme na tomto místě zpochybňovat historickou událost dotazem, kterou rukou vytasil Livius onen meč, stačí jen připomenout, že po této skutečné události byl založen Veliký Kříž Vítězství, ale to už je jiné povídání…

Nezávisle na této příhodě je tu prohlášení hocha, který řekl: „Mám stejně bratrů jako sester!“  Jeho sestra však tvrdí:  „Já mám dvakrát tolik bratrů jako sester.“  Jak je to vůbec možné a kolik bylo sester ?

 

Svůj výsledek si můžete ověřit v zašifrovaném textu na konci článku.

Po této lehké matematické rozcvičce nebude pro nás žádný problém seznámit se a pochopit funkci několika dalších operátorů pro snadnější práci v Terminálu. Pro vážné zájemce, profíky a ostřílené borce je tato informace nošením dříví do lesa, nicméně články na našem webu mají celkem jiný cíl: Informovat (nejen) o Linuxu Mint, ale ukázat uživatelům Linuxu, že kreativním a konstruktivním myšlením se dá získat hodně. Už jen fakt, že myšlení formuje naši osobnost, stojí za pozornost.

 

Další matematické a logické OPERÁTORY: 

°°°°°  °°°°°  °°°°°  °°°°°  °°°°°  °°°°°  °°°°°  °°°°°  °°°°°  °°°°°

AND – OR operator (&& – ||) 

AND – OR operator (&& – ||) je kombinace ‘AND‘ and ‘OR‘ operátora. Podobá se na tvrzení ‘if-else‘.

Příkladně, zkusme si ping do ´linux-mint-czech.cz´, pokud je úspěšný, dá echo ´Verified‘ pokud ne, echo ‘Host Down‘.

Příkaz terminálu:
user@localhost ~/test $ ping -c3 www.linux-mint-czech.cz && echo „Verified“ || echo „Host Down“

 

Příklad výstupu:

PING www.linux-mint-czech.cz (92.240.253.41) 56(84) bytes of data.

64 bytes from cluster3s31.dnsserver.eu (92.240.253.41): icmp_req=1 ttl=58 time=10.1 ms

64 bytes from cluster3s31.dnsserver.eu (92.240.253.41): icmp_req=2 ttl=58 time=9.97 ms

64 bytes from cluster3s31.dnsserver.eu (92.240.253.41): icmp_req=3 ttl=58 time=9.98 ms

--- www.linux-mint-czech.cz ping statistics ---

3 packets transmitted, 3 received, 0% packet loss, time 2002ms

rtt min/avg/max/mdev = 9.972/10.020/10.104/0.129 ms

Verified

Nyní odpojme svoje internetové připojení a zkusme ten samý příkaz znovu.

 

Příklad výstupu:

ping -c3 www.linux-mint-czech.cz && echo "Verified" || echo "Host Down"

ping: unknown host www.linux-mint-czech.cz

Host Down

 

PIPE Operator (|)

PIPE Operator (|) neboli TRUBKA je velmi užitečný, když výstup z prvního příkazu představuje vstup do příkazu druhého. Typický příklad trubky je výstup z ´ls -l‘ to ‘less‘ a prohlížení výstupu z příkazu.

Příkaz terminálu:
user@localhost ~ $ ls -l | less

 

Command Combination Operator []

Command Combination Operator [] kombinuje dva nebo více příkazů, druhý příkaz následuje po provedení prvního příkazu. Dejme tomu kontrola jestli je soubor ´abc.txt´ a ´bcd2.txt´ v zvoleném adresáři nebo ne, a výstup zodpovídá výstupu.

Příkazy terminálu:
user@localhost ~ $  [ -f /home/test/Downloads/abc.txt ] || echo “The file does not exist”
user@localhost ~ $  [ -f /home/test/Downloads/bcd2.txt ] || echo “The file does not exist”
“The file does not exist”

 

Precedence Operator ()

Precedence Operator () umožňuje provádění příkazů v preferenčním pořadí.

Příkaz terminálu:
Command_x1 && Command_x2 || Command_x3 && Command_x4.

Co se stane, když výše zapsaný pseudopříkaz Command_x1 selže a nezdaří se?  Žádný z dalších příkazů se už nevykoná, proto používáme Precedence Operator jako:

Příkaz terminálu:
(Command_x1 && Command_x2) || (Command_x3 && Command_x4)

V tomto fiktivním zápisu pseudopříkazů pokud se Command_x1 nevykoná, tak Command_x2 se taktéž nevykoná, ale příkazy Command_x3 a Command_x4 budou vykonané v závislosti od ukončení příkazu Command_x3.

 

Concatenation Operator (\)

Concatenation Operator (\) jak už ze jména je zřejmé, je používán ku zřetězení dlouhých příkazů i přes několik řádků v shellu. Dejme tomu …

Následující příkaz má otevřít textový soubor test.txt.

Příkazy terminálu:
user@localhost ~ $ gedit \
test.txt

 

To je pro dnešek všechno. Není vyloučené, že se k tématu po čase vrátíme, aby nám mozek nekrněl.

Pokud jsem v nějakém příkazu něco překlepl, opravte resp. doplňte v komentáři.

Přeji úspěšné „komandování“ !

 

°°°°°  °°°°°  °°°°°  °°°°°  °°°°°

 

3 yrtses a 4 ilyb iřtarb ež ,emítsijz ínátíčop eclivhc oP .énreficondej nej ěmjeřz ,olsíč éklev eduben ůcnezoruos tečop ývoklec ež ,emádálkopdeřp yholú otét ínádaz iřp žu

°°°°°  °°°°°  °°°°°  °°°°°  °°°°°

sedma

… a sedma nakonec !

Štítky , , .Záložka pro permanentní odkaz.

Jedna reakce na Králem snadno, rychle a vesele II. část

  1. Allconius říká:

    tak jsem to nedal, jsem myslel, že bratři jsou 2 a sestry 1 a že 0x2= 2 🙂 jinak super článek, a kdo by chtěl ještě nějaký hlavolam tak může mrknout sem: http://forum.linux-mint-czech.cz/viewtopic.php?f=12&t=610 🙂