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í
×

dnes 21:44 | Nová verze

Organizace Apache Software Foundation (ASF) na svém blogu slaví páté výročí kancelářského balíku Apache OpenOffice jako jejího Top-Level projektu. Při této příležitosti byl vydán Apache OpenOffice 4.1.4 (AOO 4.1.4). Podrobnosti v poznámkách k vydání. Dlouhé čekání na novou verzi tak skončilo.

Ladislav Hagara | Komentářů: 0
dnes 19:22 | Pozvánky

Již příští týden - 26. a 27. října se v Praze v hotelu Olšanka odehraje OpenWRT Summit. Na webu konference naleznete program a možnost zakoupení lístků - ty stojí 55 dolarů. Čtvrtek bude přednáškový a v pátek se budou odehrávat převážně workshopy a meetingy.

Miška | Komentářů: 0
dnes 13:44 | Nová verze

Bylo vydáno Ubuntu 17.10 s kódovým názvem Artful Aardvark. Ke stažení jsou Ubuntu Desktop a Server, Ubuntu Cloud Images, Ubuntu Netboot, Kubuntu, Lubuntu a Lubuntu Alternate, Lubuntu Next, Ubuntu Budgie, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio a Xubuntu. Podrobnosti v poznámkách k vydání.

Ladislav Hagara | Komentářů: 1
dnes 13:00 | Komunita

MojeFedora.cz informuje, že Fedora 27 dostane podporu pro AAC. Podpora multimediálních formátů je ve výchozí instalaci Fedory tradičně limitovaná kvůli softwarovým patentům, ale desktopový tým Red Hatu se ji i tak snaží v poslední době co nejvíce rozšířit. Už nějaký čas obsahuje kodeky pro MP3, H.264, AC3 a nyní byl přidán také kodek pro další velmi rozšířený zvukový formát – AAC.

Ladislav Hagara | Komentářů: 2
včera 23:55 | Pozvánky

Spolek OpenAlt zve příznivce otevřených technologií a otevřeného přístupu na 145. brněnský sraz, který proběhne v pátek 20. října od 18:00 hodin v restauraci Time Out na adrese Novoměstská 2 v Řečkovicích. Jedná se o poslední sraz před konferencí OpenAlt 2017, jež proběhne o víkendu 4. a 5. listopadu 2017 na FIT VUT v Brně. Běží registrace účastníků.

Ladislav Hagara | Komentářů: 0
včera 21:44 | Nová verze

Byla vydána verze 5.2.0 multiplatformního virtualizačního nástroje Oracle VM VirtualBox. Jedná se o první stabilní verzi z nové větve 5.2. Z novinek lze zmínit například možnost exportování VM do Oracle Cloudu, bezobslužnou instalaci hostovaného systému nebo vylepšené GUI. Podrobnosti v seznamu změn. Aktualizována byla také dokumentace.

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

Byl spuštěn Humble Down Under Bundle. Za vlastní cenu lze koupit multiplatformní hry The Warlock of Firetop Mountain, Screencheat, Hand of Fate a Satellite Reign. Při nadprůměrné platbě (aktuálně 3,63 $) také Hacknet, Hacknet Labyrinths, Crawl a Hurtworld. Při platbě 12 $ a více lze získat navíc Armello.

Ladislav Hagara | Komentářů: 0
včera 13:00 | Nová verze

Google Chrome 62 byl prohlášen za stabilní (YouTube). Nejnovější stabilní verze 62.0.3202.62 tohoto webového prohlížeče přináší řadu oprav a vylepšení. Vylepšeny byly také nástroje pro vývojáře (YouTube). Opraveno bylo 35 bezpečnostních chyb.

Ladislav Hagara | Komentářů: 4
včera 11:00 | Zajímavý článek

Článek (en) na Mozilla.cz je věnován vykreslování stránek ve Firefoxu. V průběhu roku 2018 by se ve Firefoxu měl objevit WebRender, jenž by měl vykreslování stránek urychlit díky využití GPU.

Ladislav Hagara | Komentářů: 5
včera 08:22 | Bezpečnostní upozornění

NÚKIB (Národní úřad pro kybernetickou a informační bezpečnost) informuje o zranitelnosti ROCA v procesu generování RSA klíčů, který se odehrává v softwarové knihovně implementované například v kryptografických čipových kartách, bezpečnostních tokenech a dalších hardwarových čipech vyrobených společností Infineon Technologies AG. Zranitelnost umožňuje praktický faktorizační útok, při kterém útočník dokáže vypočítat

… více »
Ladislav Hagara | Komentářů: 4
Jak se vás potenciálně dotkne trend odstraňování analogového audio konektoru typu 3,5mm jack z „chytrých telefonů“?
 (10%)
 (1%)
 (1%)
 (1%)
 (75%)
 (13%)
Celkem 103 hlasů
 Komentářů: 6, poslední dnes 20:51
    Rozcestník
    Štítky: není přiřazen žádný štítek

    Dotaz: Kdy dávat proměnné do uozovek

    6.2.2014 12:07 Martas
    Kdy dávat proměnné do uozovek
    Přečteno: 351×
    Ahoj, nemůžu najít, kdy dávat a kdy nedávat ve scriptech bash/shell proměnné do uvozovek. poradí někdo? Děkuji

    Řešení dotazu:


    Odpovědi

    6.2.2014 12:26 podlesh | skóre: 38 | Freiburg im Breisgau
    Rozbalit Rozbalit vše Re: Kdy dávat proměnné do uozovek
    Rozhodně vždy, když se tam mohou vyskytnout whitespace (mezery apod). Ideálně vždy, pokud si nejsem opravdu 100% jistý že tam mezery fakt nejsou.
    6.2.2014 12:45 Martas
    Rozbalit Rozbalit vše Re: Kdy dávat proměnné do uozovek
    Díky a co třba tohle? Takto
    source "$(dirname $0)/foo/bar"
    nebo takto ?
    source  $(dirname $0)/foo/bar
    Díky
    6.2.2014 13:59 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Kdy dávat proměnné do uozovek

    source "$(dirname "$0")/foo/bar" ;)

    OT: Takové source-ování nebude fungovat jak asi chceš při použití linek.

    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    6.2.2014 18:55 Martas
    Rozbalit Rozbalit vše Re: Kdy dávat proměnné do uozovek
    Tak že to má být bez uvozovek? Takto?
    source $(dirname $0)/foo/bar
    6.2.2014 21:11 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Kdy dávat proměnné do uozovek
    Proč?, ne, má to být jak jsem napsal:
    source "$(dirname "$0")/foo/bar"
    Ale zjištění adresáře nebude vždy, to co si asi zamýšlíš.
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    6.2.2014 21:43 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Kdy dávat proměnné do uozovek

    Mám pocit, že tě napínám, takže příklad:

    Příprava:

    mkdir kuk
    echo -e "#\!/bin/bash\n\necho \"\$(dirname \"\$0\")/foo/bar\"\n" > kuk/do.bash
    ln -s kuk/do.bash dolink
    ln -s kuk kuklink
    chmod +x kuk/do.bash
    

    Test:

    ./kuk/do.bash
    ./dolink 
    ./kuklink/do.bash 
    

    Otázka:
     Chceš to tak?

    Úklid:

    rm ./dolink
    rm ./kuk/do.bash
    rm ./kuklink
    rmdir kuk
    

    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    7.2.2014 01:00 Martas
    Rozbalit Rozbalit vše Re: Kdy dávat proměnné do uozovek
    Tak to jsem ted zcela v prdli :-( Můžeš ještě jednou co se snažíš říct - pro blba? Díky
    7.2.2014 08:28 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Kdy dávat proměnné do uozovek

    Výstup z těch ukázek:

     $ ./kuk/do.bash     -> ./kuk/foo/bar       - OK
     $ ./dolink          -> ./foo/bar           - ???
     $ ./kuklink/do.bash -> ./kuklink/foo/bar   - OK!
    

    1. OK - standard
    2. Pokud budeš source-ovat script, který je ve stejném adresáři, jako ten script co spoustíš, tak ho takto nenajde, bo ho hledá jinde.
    3. Do vnořených adresářů OK, ale základní adresář scriptu není „kuk“ - jen ukázka chování.

    „¡Studenti! pokud nechápe výklad je chyba přednášejícího, ne vaše …rozumíte tomu?“…

    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    6.2.2014 12:48 Semo | skóre: 44 | blog: Semo
    Rozbalit Rozbalit vše Re: Kdy dávat proměnné do uozovek
    Vzdy. Okrem miest, kde velmi dobre vies, preco by tam byt nemali.
    If you hold a Unix shell up to your ear, you can you hear the C.
    6.2.2014 17:06 Andrej | skóre: 44 | blog: Republic of Mordor | Zürich
    Rozbalit Rozbalit vše Re: Kdy dávat proměnné do uozovek

    Kromě případu, kdy chceš z proměnné s mezerami vytvořit pole, je vhodné mít uvozovky v podstatě všude. Možná se najde ještě pár dalších exotických situací, kde se uvozovky nehodí, ale moc jich nebude.

    text='a b c d e'
    tokens=(${text})              # Tohle je ten speciální případ.
    other_tokens=("${tokens[@]}") # Kopírování pole má uvozovky.
    

    Složené závorky jsou u proměnných, které nejsou pole, v podstatě dobrovolné, ale většinou je používám. Přijdou vhod třeba v případě, kdy člověk změní "${text} s mezerami" na "${text}bez_mezer", protože zatímco "$text s mezerami" funguje podle očekávání, "$textbez_mezer" se se značnou pravděpodobností rozexpanduje na velké kulové.

    Následuje ještě jeden příklad s poli a s uvozovkami. Expanze ${words[@]} a ${words[*]} dělají mimo uvozovky totéž, ale v uvozovkách se chovají odlišně.

    words=(' a  b ' ' c  d ')
    for word in ${words[*]}; do echo "${word}" \| ${word}; done        # 4 řádky
    for word in ${words[@]}; do echo "${word}" \| ${word}; done        # 4 řádky
    for word in "${words[@]}"; do echo "${word}" \| ${word}; done        # 2 řádky
    for word in "${words[*]}"; do echo "${word}" \| ${word}; done        # 1 řádek
    
    Zajímavé je též pořadí expanze v shellu — na první pohled nemusí být zřejmé, že přidání uvozovek do následujícího příkladu vůbec nic nezmění.
    quotes=('"' '"' '"');
    for i in ${quotes[@]}; do echo $i; done
    
    ǑǦŹǓǕǙǞǺǨȞȬḔḦḰḾṊṎṸẄẌỖ
    6.2.2014 18:08 potato
    Rozbalit Rozbalit vše Re: Kdy dávat proměnné do uozovek
    Možná se najde ještě pár dalších exotických situací, kde se uvozovky nehodí
    Exotických situací jako když máš v proměnné několik voleb programu?

    Ano, používat uvozovky všude, kde není zapotřebí word splitting, neškodí. Škodlivý je ovšem názor, že chtěný word splitting je cosi exotického. Je to příznak velkolepého formálního programování v shellu (ve srovnání se skriptováním), při kterém se nevyužívají silné stránky shellu, zato se složitě matlají věci, které ve vhodnějším jazyce fungují mnohem lépe.
    6.2.2014 20:28 Andrej | skóre: 44 | blog: Republic of Mordor | Zürich
    Rozbalit Rozbalit vše Re: Kdy dávat proměnné do uozovek

    Na druhé straně není nic horšího než matlání skriptů, které selžou při první neočekávané mezeře. Viděl jsem takových dost na to, abych byl skalním příznivcem uvozovek. Když chci mít v jedné proměnné víc optionů, je spousta důvodů pro použití pole, ve kterém se například option obsahující mezeru nerozdělí na dva. Pokud parsuju strukturovaná data, u kterých vím naprosto jistě, co je oddělovač a co ne, je to samozřejmě zcela jiná situace. Nejhorší je expandovat obyčejnou proměnnou obsahující parametry příkazové řádky, které mohou obsahovat jména souborů, která mohou obsahovat téměř libovolné bílé místo.

    ǑǦŹǓǕǙǞǺǨȞȬḔḦḰḾṊṎṸẄẌỖ

    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.