abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
včera 17:25 | IT novinky

Do prodeje (Farnell) se dostal jednodeskový počítač Tinker Board (unboxing). Jedná se o konkurenci Raspberry Pi 3 od společnosti Asus. Porovnání (jpg) těchto počítačů například na CNXSoft. Cena Tinker Boardu je 55 £.

Ladislav Hagara | Komentářů: 8
včera 14:44 | Zajímavý projekt

Byla zveřejněna pravidla hackerské soutěže Pwn2Own 2017, jež proběhne od 15. do 17. března v rámci bezpečnostní konference CanSecWes ve Vancouveru. Soutěžit se bude o více než milion dolarů v pěti kategoriích. Letos se bude útočit i na Ubuntu. Jedná se již o 10. ročník této soutěže.

Ladislav Hagara | Komentářů: 1
včera 13:33 | Nová verze

Po sedmi měsících vývoje od vydání verze 5.7 byla vydána verze 5.8 (YouTube) toolkitu Qt. Z novinek lze zmínit například Qt Lite pro vestavěná zařízení. Nově jsou plně podporovány moduly Qt Wayland Compositor (YouTube) a Qt SCXML (YouTube). Současně byla vydána verze 4.2.1 integrovaného vývojového prostředí (IDE) Qt Creator.

Ladislav Hagara | Komentářů: 1
včera 11:52 | Pozvánky

Lednový Prague Containers Meetup se koná ve čtvrtek 26. ledna 2017 od 18:00 v Apiary, Pernerova 49, Praha 8. Přijďte se podívat na přednášky o Enterprise Kubernetes a Jenkins as a code.

little-drunk-jesus | Komentářů: 0
včera 11:40 | Pozvánky

Program letošního ročníku konference Prague PostgreSQL Developer Days, která se koná již 15. a 16. února 2017 na ČVUT FIT, Thákurova 9, Praha 6, byl dnes zveřejněn. Najdete ho na stránkách konference včetně anotací přednášek a školení. Registrace na konferenci bude otevřena zítra (24. ledna) v brzkých odpoledních hodinách.

TomasVondra | Komentářů: 0
22.1. 02:20 | Zajímavý článek

David Revoy, autor open source webového komiksu Pepper&Carrot nebo portrétu GNU/Linuxu, upozorňuje na svém blogu, že nový Inkscape 0.92 rozbíjí dokumenty vytvořené v předchozích verzích Inkscape. Problém by měl být vyřešen v Inkscape 0.92.2 [reddit].

Ladislav Hagara | Komentářů: 0
22.1. 02:02 | Komunita

Øyvind Kolås, hlavní vývojář grafických knihoven GEGL a babl, které využívá grafický program GIMP, žádá o podporu na Patreonu. Díky ní bude moci pracovat na vývoji na plný úvazek. Milník 1000 $, který by stačil na holé přežití, se již téměř podařilo vybrat, dalším cílem je dosažení 2500 $, které mu umožní běžně fungovat ve společnosti.

xkomczax | Komentářů: 12
21.1. 23:54 | Pozvánky

DevConf.cz 2017, již devátý ročník jedné z největších akcí zaměřených na Linux a open source ve střední Evropě, proběhne od pátku 27. ledna do neděle 29. ledna v prostorách Fakulty informačních technologií Vysokého učení technického v Brně. Na programu je celá řada zajímavých přednášek a workshopů. Letos je povinná registrace.

Ladislav Hagara | Komentářů: 0
21.1. 22:11 | Nová verze

Byla vydána verze 1.0.0 emulátoru terminálu Terminology postaveného nad EFL (Enlightenment Foundation Libraries). Přehled novinek v poznámkách k vydání.

Ladislav Hagara | Komentářů: 0
20.1. 17:00 | Nová verze

Byl vydán Docker 1.13. Přehled novinek na YouTube a v poznámkách k vydání na GitHubu. Docker umožňuje běh aplikací v softwarových kontejnerech (Wikipedia).

Ladislav Hagara | Komentářů: 7
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (12%)
 (2%)
 (72%)
 (3%)
 (11%)
Celkem 389 hlasů
 Komentářů: 31, poslední včera 19:19
Rozcestník
Reklama

Dotaz: bash porovnani stringu

29.1.2016 13:49 mmmmmm
bash porovnani stringu
Přečteno: 392×
Nevíte proč mi

if [ "x"=="y" ]; then echo "ano"; else echo "ne"; fi;

vrací ano

Díky

Řešení dotazu:


Odpovědi

Řešení 1× (rastos)
29.1.2016 13:56 NN
Rozbalit Rozbalit vše Re: bash porovnani stringu
Protoze tam nemas mezery..
29.1.2016 14:00 mmmmmm
Rozbalit Rozbalit vše Re: bash porovnani stringu
:-) aha, sakra, přitom taková blbost díky moc
29.1.2016 15:10 Michal Kubeček | skóre: 71 | Luštěnice
Rozbalit Rozbalit vše Re: bash porovnani stringu
Kromě toho je ošklivý zlozvyk používat porovnání pomocí "==" v jednoduchých hranatých závorkách. Tam patří obyčejné "=".
29.1.2016 22:51 Kit | skóre: 37 | Brno
Rozbalit Rozbalit vše Re: bash porovnani stringu
Kdysi dávno jsem se podivoval nad tím, proč některé programovací jazyky používají pro porovnávání "==" místo běžného "=". Nikdo s tím nic neudělal a každý jazyk to má stále posvém. Není divu, že se to neustále plete.

Zrovna tohle se do automatického korektoru v editoru dává blbě.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
29.1.2016 23:12 Michal Kubeček | skóre: 71 | Luštěnice
Rozbalit Rozbalit vše Re: bash porovnani stringu
V klasické knize od Kernighana a Richieho se píše, že když se při návrhu C rozmýšleli, jaký operátor použít pro porovnání a jaký pro přiřazení, udělali si statistiku a zjistili, že v tom typu programů, pro který mělo být C určené, se přiřazuje výrazně častěji než porovnává na rovnost. Proto na rozdíl od některých jiných jazyků použili prosté "=" pro přiřazení a složitější "==" pro porovnání. IMHO to většina jazyků, které mají ty operátory zrovna takhle, převzala z C.
29.1.2016 23:59 Kit | skóre: 37 | Brno
Rozbalit Rozbalit vše Re: bash porovnani stringu
No právě, takhle zahodili dosavadní zvyklosti. Místo toho, aby si udělali makro do editoru, zkrátili syntaktický zápis. A od té doby s tou schízou musíme žít :-)

Jaké by to asi bylo, kdyby se pro porovnání prosadilo fortranské "eq" a "ne"?

Dnes se místo jednoho tabu odsazuje čtyřmi mezerami a prosazuje se to jako norma. Plýtvání místem ve zdrojáku už nikomu nevadí.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
30.1.2016 00:26 Dirka | skóre: 14 | blog: dirka12345
Rozbalit Rozbalit vše Re: bash porovnani stringu
jakej je rozdil mezi == != a eq ne v delce zapisu?

mimoto napr perl ma podle typu porovnani == nebo eq ...
30.1.2016 00:41 Kit | skóre: 37 | Brno
Rozbalit Rozbalit vše Re: bash porovnani stringu
Kolem "==" a "!=" nejsou nutné mezery, takže zápis je kratší. Je však dobrým zvykem je tam psát kvůli čitelnosti.

Perl je kapitola sama pro sebe.

V Javě se běžně používá metoda equals(). Důvody pro zkracování zápisu padly, dnes se jednoznačně dává přednost čitelnosti pro lidi - klidně i na úkor délky zápisu. Šetřit na počtu znaků dnes už nedává smysl.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
30.1.2016 01:00 Kit | skóre: 37 | Brno
Rozbalit Rozbalit vše Re: bash porovnani stringu
Jen k tomu dodám, že kdybych dnes navrhoval nějaký nový jazyk, tak bych pro porovnání asi také použil "==" a "!=", protože programátoři jsou na to už zvyklí, význam je jednoznačný a proto nevidím důvod to měnit.

Možná bych však zvolil pro přiřazení osvědčený symbol ":=", aby nedocházelo k omylům, které dodnes mnoho programátorů trápí. Samotné rovnítko by nemělo žádný význam a jeho výskyt by indikoval překlep už na úrovni syntaktické kontroly.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
mika-talvinen avatar 30.1.2016 11:20 mika-talvinen | skóre: 23 | Plzeň
Rozbalit Rozbalit vše Re: bash porovnani stringu
A nebo jít Pythoní cestou: = pro přiřazení, == pro porovnání, ale = se nesmí vyskytovat v podmínce (tuším, že to je syntax error), čímž odpadnou problémy jako v C.
30.1.2016 11:53 Kit | skóre: 37 | Brno
Rozbalit Rozbalit vše Re: bash porovnani stringu
Ano, to souhlasí. "=" v pythonské podmínce vyhodí SyntaxError.

Podobně to dopadne i ve Fortranu: "==" pro porovnání funguje, ale "=" vyhodí Syntax error.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
1.2.2016 18:32 Jardík
Rozbalit Rozbalit vše Re: bash porovnani stringu
Dovolím si upozornit na jednu věc. Pokud někdy budeš porovnávat obsah proměnné (která bude na levé straně), tak nezapomeň vložit nějaký prefix. Např.
if [ "x${mojepromenna}" = "xmojetestovanahodnota" ]; then ...
Proč ... protože by mojepromenna mohla být ošklivá, třeba obsahovala řetězec "-f". Ve výsledku by se ti testovala existence souboru.
1.2.2016 19:00 nobody
Rozbalit Rozbalit vše Re: bash porovnani stringu
v kterem interpretu, nebo snad v kterem vesmiru ? :) v sh i bash mi tohle funguje ok:
moje="-f"
if [ "${moje}" = "-f" ]; then echo "je to -f"; fi
1.2.2016 19:52 Michal Kubeček | skóre: 71 | Luštěnice
Rozbalit Rozbalit vše Re: bash porovnani stringu
Podobné příklady je vhodné si nejdřív vyzkoušet. Tenhle příklad totiž bash rozparsuje správně. :-)
1.2.2016 19:53 Michal Kubeček | skóre: 71 | Luštěnice
Rozbalit Rozbalit vše Re: bash porovnani stringu
Omlouvám se, moje reakce samozřejmě patřila o úroveň výš.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.