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 18:22 | Bezpečnostní upozornění

V balíčku eject, příkaz pro vysunutí CD/DVD z mechaniky, v linuxových distribucích Ubuntu (USN-3246-1) a Debian (#858872) byla nalezena bezpečnostní chyba CVE-2017-6964 zneužitelná k lokální eskalaci práv. Linuxové distribuce používající eject z balíčku util-linux nejsou zranitelné.

Ladislav Hagara | Komentářů: 0
dnes 05:55 | Komunita

Dries Buytaert, autor a vedoucí projektu Drupal a prezident Drupal Association, požádal soukromě před několika týdny Larryho Garfielda, jednoho z klíčových vývojářů Drupalu, aby projekt Drupal opustil. Larry Garfield minulý týden na svých stránkách napsal, že důvodem jsou jeho BDSM praktiky a rozpoutal tím bouřlivou diskusi. Na druhý den reagoval Dries Buytaert i Drupal Association. Pokračuje Larry Garfield [reddit].

Ladislav Hagara | Komentářů: 29
dnes 04:44 | Humor

Společnost SAS zveřejnila na svých stránkách studii s názvem Open Source vs Proprietary: What organisations need to know (pdf). Organizace by měly například vědět, že ideální je mix 40 % open source softwaru a 60 % proprietárního softwaru [Slashdot].

Ladislav Hagara | Komentářů: 8
včera 23:33 | Zajímavý software

Byl vydán ShellCheck ve verzi 0.4.6. Jedná se o nástroj pro statickou analýzu shellových skriptů. Shellové skripty lze analyzovat na webové stránce ShellChecku, v terminálu nebo přímo z textových editorů. Příklady kódů, na které analýza upozorňuje a doporučuje je přepsat. ShellCheck je naprogramován v programovacím jazyce Haskell. Zdrojové kódy jsou k dispozici na GitHubu pod licencí GPLv3.

Ladislav Hagara | Komentářů: 0
včera 23:33 | Pozvánky

Czech JBoss User Group zve na setkání JBUG v Brně, které se koná ve středu 5. dubna 2017 v prostorách Fakulty informatiky Masarykovy univerzity v místnosti A318 od 18:00. Přednáší Pavol Loffay na téma Distributed Tracing and OpenTracing in Microservice Architecture.

… více »
mjedlick | Komentářů: 0
včera 11:33 | Zajímavý článek

Národní centrum kybernetické bezpečnosti (NCKB) vypracovalo (pdf) 26 podrobných bezpečnostních doporučení pro síťové správce. Tato doporučení jsou nastavena tak, aby je bylo možné aplikovat v každé instituci. Jsou rozdělena na tři základní části: bezpečnost infrastruktury, bezpečnost stanic a serverů a bezpečnost uživatelů.

Ladislav Hagara | Komentářů: 16
včera 05:55 | Komunita

Prezident Nadace pro svobodný software (FSF) Richard M. Stallman vyhlásil na slavnostním ceremoniálu v rámci konference LibrePlanet 2017 vítěze Free Software Awards za rok 2016. Ocenění za společenský přínos získal SecureDrop (Wikipedie). Za rozvoj svobodného softwaru byl oceněn Alexandre Oliva (Wikipedie).

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

Byla vydána verze 0.7.0 debugovacího nástroje cgdb. Mezi novinky patří například zvýrazňování syntaxe jazyka Rust. Podrobnosti v poznámkách o vydání.

Neel | Komentářů: 0
25.3. 22:00 | Komunita

Portál Stack Overflow po roce opět vyzpovídal své uživatele, jedná se především o vývojáře softwaru, a zveřejnil (podcast) detailní výsledky průzkumu. Průzkumu se letos zúčastnilo více než 64 tisíc vývojářů. Jejich nejmilovanější platformou je linuxový desktop. Ten je také druhou nejpoužívanější platformou vývojářů.

Ladislav Hagara | Komentářů: 7
24.3. 11:55 | Komunita

Vývojový tým OpenSSL ve spolupráci s iniciativou Core Infrastructure konsorcia Linux Foundation spustil proces přelicencování této kryptografické knihovny ze současné licence na licenci Apache Licence v 2.0 (ASLv2). Nová licence usnadní začleňování OpenSSL do dalších svobodných a open source projektů. Všichni dosavadní vývojáři OpenSSL (Authors) obdrží v následujících dnech email s prosbou o souhlas se změnou licence.

Ladislav Hagara | Komentářů: 33
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (14%)
 (2%)
 (72%)
 (3%)
 (10%)
Celkem 951 hlasů
 Komentářů: 72, poslední 1.3. 11:16
    Rozcestník

    Dotaz: BASH - Podmínka pro kontrolu jestli je pole prázdné/plné

    30.7.2012 15:03 MM
    BASH - Podmínka pro kontrolu jestli je pole prázdné/plné
    Přečteno: 697×
    Ahoj, jak můžu napsat podmínku v bashi která zjistí jestli je pole prázdné nebo něco obsahuje. Díky
    if [ ${MYARRAY} ]
    then
     echo "Pole je plne"
    else
     echo "Pole je prázdné"
    fi

    Řešení dotazu:


    Odpovědi

    Řešení 1× (iKoulee)
    30.7.2012 15:18 l4m4
    Rozbalit Rozbalit vše Re: BASH - Podmínka pro kontrolu jestli je pole prázdné/plné
    Například (prázdnost)
    test ${#MYARRAY[*]} = 0
    30.7.2012 16:13 MM
    Rozbalit Rozbalit vše Re: BASH - Podmínka pro kontrolu jestli je pole prázdné/plné
    Nevím jak jsi to myslel ale tohle nefunguje
    if [ ${#MYARRAY[*]} = 0 ]
    then
     echo "Pole je prázdné"
    else
     echo "Pole je plné"
    fi
    30.7.2012 16:33 NN
    Rozbalit Rozbalit vše Re: BASH - Podmínka pro kontrolu jestli je pole prázdné/plné
    funguje
    30.7.2012 22:10 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: BASH - Podmínka pro kontrolu jestli je pole prázdné/plné
    To ${#MYARRAY[*]} vrací počet prvků pole.
    MYARRAY=
    echo "Počet prvků v poli: ${#MYARRAY[*]}"
    
    for((i=0;i<${#MYARRAY[*]};i++)) {
        echo "${#MYARRAY[i]}"
    }
    
    Počet prvků v poli: 1
    0
    unset MYARRAY
    echo "Počet prvků v poli: ${#MYARRAY[*]}"
    
    for((i=0;i<${#MYARRAY[*]};i++)) {
        echo "${#MYARRAY[i]}"
    }
    
    Počet prvků v poli: 0

    31.7.2012 12:49 GeorgeWH | skóre: 35
    Rozbalit Rozbalit vše Re: BASH - Podmínka pro kontrolu jestli je pole prázdné/plné
    test -z $A && echo nic || echo nieco
    31.7.2012 17:24 l4m4
    Rozbalit Rozbalit vše Re: BASH - Podmínka pro kontrolu jestli je pole prázdné/plné
    A=('' Gotcha)
    1.8.2012 00:31 GeorgeWH | skóre: 35
    Rozbalit Rozbalit vše Re: BASH - Podmínka pro kontrolu jestli je pole prázdné/plné
    test -z ${A[*]} && echo nic || echo nieco
    1.8.2012 00:57 l4m4
    Rozbalit Rozbalit vše Re: BASH - Podmínka pro kontrolu jestli je pole prázdné/plné
    Tak schválně, co myslíš, že to udělá při
    A=(Ignorance strikes back)
    ?
    1.8.2012 15:57 GeorgeWH | skóre: 35
    Rozbalit Rozbalit vše Re: BASH - Podmínka pro kontrolu jestli je pole prázdné/plné
    test -z "${A[*]}" && echo nic || echo nieco
    David Watzke avatar 1.8.2012 20:35 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: BASH - Podmínka pro kontrolu jestli je pole prázdné/plné
    Stále kravina...
    $ A=('')
    $ echo ${#A[*]}
    1
    $ test -z "${A[*]}" && echo nic || echo nieco
    nic
    
    Vzdej to už :-)
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    6.8.2012 11:26 GeorgeWH | skóre: 35
    Rozbalit Rozbalit vše Re: BASH - Podmínka pro kontrolu jestli je pole prázdné/plné
    aha, a co vlastne to pole obsahuje? vypis mi jeho prvky.
    6.8.2012 12:58 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: BASH - Podmínka pro kontrolu jestli je pole prázdné/plné
    Obsahuje jeden prázdný řetězec ''.

    Prázdný řetězec je plnohodnotný prvek pole, i když při výpisu na váš terminál se shodou okolností nevypíše žádný znak :)

    Je to jako prázdná krabice od bot. Někoho sice zajímají výhradně ty boty, protože je třeba obuvník, tak všude vidí jen boty boty boty, ale skladníka zajímají i prázdné krabice.

    Pokud mi někdo předal prázdnou krabici od bot bez tří mega (pole s prázdným řetězcem), je to zcela jiná situace, než kdyby žádná předávka vůbec neproběhla (prázdné pole).
    6.8.2012 18:03 GeorgeWH | skóre: 35
    Rozbalit Rozbalit vše Re: BASH - Podmínka pro kontrolu jestli je pole prázdné/plné
    miesas hrusky s jablkami. krabica je krabica, topanky su topanky. ak je krabica pole K a topanky prvok K0, tak pole nie je prazdne. ak tam ziadne topanky nie su, tak pole je prazdne, a je jedno, ci tam bude este nejaka igelitka z topanok alebo nie, pretoze v konecnom dosledku je krabica prazdna.
    David Watzke avatar 6.8.2012 18:18 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: BASH - Podmínka pro kontrolu jestli je pole prázdné/plné
    Takže tohle je pro tebe taky prázdný pole?
    const char p[] = {0, 0};
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    6.8.2012 18:46 l4m4
    Rozbalit Rozbalit vše Re: BASH - Podmínka pro kontrolu jestli je pole prázdné/plné
    Právo na tento názor ti nikdo nebere, ale tvůrci bashe to zjevně vidí jinak -- jak zde bylo již několikrát demonostrováno.
    6.8.2012 19:47 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: BASH - Podmínka pro kontrolu jestli je pole prázdné/plné
    ak je krabica pole K

    Krabice není pole K. špatný předpoklad => špatný závěr. Kraice je plnohodnotný prvek pole, ať je prázdná nebo plná.
    7.8.2012 07:39 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: BASH - Podmínka pro kontrolu jestli je pole prázdné/plné
    Ale nelze popřít existenci krabice…
    Kolik prvků má tedy pole v mém příkladu níže?
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    6.8.2012 13:28 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: BASH - Podmínka pro kontrolu jestli je pole prázdné/plné
    Třeba takto:
    #!/bin/bash
    A=('' '6*9' '' '42')
    #A=('')
    echo "Pole A obsahuje: ${#A[@]} položek"
    for (( i=0 ; i < ${#A[@]} ; i++ ))
    do
      echo "Prvek $i má hodnotu: '${A[$i]}'"
    done
    
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    1.8.2012 00:59 Jooky (inactive) | skóre: 39 | blog: Jooky | Bratislava
    Rozbalit Rozbalit vše Re: BASH - Podmínka pro kontrolu jestli je pole prázdné/plné
    V linuxe je v sekcii 1 manualova stranka "test" (man 1 test)

    Cast zaujimava pre tento problem:
           -n STRING
                  the length of STRING is nonzero
    
           STRING equivalent to -n STRING
    
           -z STRING
                  the length of STRING is zero
    
    Cize moznost je if [ -n "${MYARRAY}" ], alebo if [ -z "${MYARRAY}" ] a potom spravne then/else.
    Kedze je uz pokrocili cas, tak som to pre istotu aj odskusal :)
    $ MYARRAY=a
    $ if [ -n "${MYARRAY}" ]; then  echo "Pole je plne"; else  echo "Pole je prázdné"; fi
    Pole je plne
    $ MYARRAY=
    $ if [ -n "${MYARRAY}" ]; then  echo "Pole je plne"; else  echo "Pole je prázdné"; fi
    Pole je prázdné
    $
    
    Pre zjednodusenie sa to da -n uplne vypustit, ale potom by menej znalym uz nemuselo byt jasne o co ide :)
    $ MYARRAY=a
    $ if [ "${MYARRAY}" ]; then  echo "Pole je plne"; else  echo "Pole je prázdné"; fi
    Pole je plne
    $ MYARRAY=
    $ if [ "${MYARRAY}" ]; then  echo "Pole je plne"; else  echo "Pole je prázdné"; fi
    Pole je prázdné
    $
    
    a mala drobnost na zaver. Tie uvodzovky tam maju svoje miesto ... kedze:
    $ MYARRAY="a b"
    $ if [ -n ${MYARRAY} ]; then  echo "Pole je plne"; else  echo "Pole je prázdné"; fi
    -bash: [: a: binary operator expected
    Pole je prázdné
    $ if [ -n "${MYARRAY}" ]; then  echo "Pole je plne"; else  echo "Pole je prázdné"; fi
    Pole je plne
    $
    
    Bez uvodzvoviek shell cely string najprv rozdeli podla $IFS a na zaklade toho dosadi ako argumenty. Inak povedane v provom priklade vidi test "-n a b" a to nie je co ocakava ...
    1.8.2012 01:23 l4m4
    Rozbalit Rozbalit vše Re: BASH - Podmínka pro kontrolu jestli je pole prázdné/plné
    To je, s prominutím, totální hovadina.

    Ukázky neobsahují jediné [víceprvkové] pole.

    Pro pole a expanduje ${a} na obsah prvního prvku. Takže uvedné testy nefungují ani pro výše uvedený příkad http://www.abclinuxu.cz/poradna/linux/show/363461#7 a viz také příspěvek od Ashe http://www.abclinuxu.cz/poradna/linux/show/363461#5

    Obecně stringovými testy prostě neodlišíš nenastavené prvky od prázdných:
    a=('')
    vytvoří pole o jednom prázdném prvku, což není totéž jako prázdné pole, které vytvoří například
    unset a
    declare -a a
    1.8.2012 16:00 GeorgeWH | skóre: 35
    Rozbalit Rozbalit vše Re: BASH - Podmínka pro kontrolu jestli je pole prázdné/plné
    $ A=(" ")
    $ test -z "${A[*]}" && echo nic || echo nieco
    nieco
    $ A=(' ')
    $ test -z "${A[*]}" && echo nic || echo nieco
    nieco
    $ A=('')
    $ test -z "${A[*]}" && echo nic || echo nieco
    nic
    $ A=("")
    $ test -z "${A[*]}" && echo nic || echo nieco
    nic
    
    1.8.2012 16:21 l4m4
    Rozbalit Rozbalit vše Re: BASH - Podmínka pro kontrolu jestli je pole prázdné/plné
    Ano, tak to je. Stringové testy neodpovídají na otázku po prázdnosti pole. Ale nerozumím, proč to sem znovu vkládáš. Stejně jako nerozumím, proč pole vytváříš
    a=(' ')
    i
    a=(" ")
    když rozdíl je pouze v zápisu, obsah proměnné bude identický.
    7.8.2012 14:42 Jooky (inactive) | skóre: 39 | blog: Jooky | Bratislava
    Rozbalit Rozbalit vše Re: BASH - Podmínka pro kontrolu jestli je pole prázdné/plné
    Pravda, nemal som pridavat koment tak neskoro vecer :) Ja som trosku ovplyvneni aj programovanim v C. Tam je kazdy retazec v podstate pole znakov. V sheli si ani nepamatam kedy som naposledy pouzil pole znakov ... ten moj koment mozte ignorovat, lebo je to pre iny pripad ... a ja nabuduce nebudem nic pridavat neskoro v noci :)

    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.