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 08:11 | Komunita

    Firma X zaslala předžalobní výzvu vývojáři projektu Nitter (Wikipedia), open-source alternativního frontendu k sociální síti X (ex-Twitter), a provozovatelům instancí jako XCancel, které umožňovaly číst příspěvky bez přihlášení, reklam a javascriptu. Údajně se dopouštějí „sběru dat“. Zdrojový kód Nitteru vývojář archivoval. Vývoj již dříve přerušil v roce 2024 po tehdejším omezení API X. X je dceřiná společnost SpaceXAI Elona Muska, provozující mj. kontroverzního chatbota Grok.

    |🇵🇸 | Komentářů: 12
    dnes 02:22 | Nová verze

    Bylo vydáno Ubuntu 26.04.1 LTS, tj. první opravné vydání Ubuntu 26.04 LTS s kódovým názvem Resolute Raccoon. Přehled novinek a oprav na Discourse.

    Ladislav Hagara | Komentářů: 1
    dnes 02:11 | Zajímavý článek

    Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) vydal Zprávu o stavu kybernetické bezpečnosti ČR za rok 2025 (pdf). Incidentů ubylo, sofistikovanost útočníků roste.

    Ladislav Hagara | Komentářů: 0
    dnes 00:55 | Nová verze

    Open source softwarový stack AMD ROCm (Wikipedie) pro vývoj AI a HPC na GPU od AMD byl vydán v nové major verzi 10.0. S ROCm.AI. Přehled novinek v aktualizované dokumentaci.

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

    Finanční skupina Partners se stala minulou neděli obětí kybernetického útoku, při kterém se útočníci dostali k některým osobním údajům klientů. Společnost o tom informovala ve čtvrtek. Ujišťuje, že peníze klientů nejsou v ohrožení. „Kybernetický útok zasáhl část IT infrastruktury naší společnosti. Ihned po zjištění útoku jsme s pomocí externích bezpečnostních odborníků začali intenzivně pracovat na minimalizaci škod. Útočníci se

    … více »
    Ladislav Hagara | Komentářů: 0
    včera 03:55 | IT novinky

    Americká technologická společnost Meta Platforms se dohodla, že zaplatí až zhruba 18 miliard dolarů (asi 373 miliard Kč) za mimosoudní urovnání sporu o závislosti dětí na sociálních sítích a provede významné změny pro jejich používání mladistvými. Téměř tři desítky států USA firmu v roce 2023 obvinily z toho, že sítě Facebook a Instagram vědomě navrhla tak, aby u dětí vyvolávaly závislost, a zatajovala tyto dopady před veřejností. Firma se

    … více »
    Ladislav Hagara | Komentářů: 3
    včera 02:55 | Komunita

    Byl publikován aktuální přehled dění a novinek z vývoje Asahi Linuxu, tj. Linuxu pro Apple Silicon. Blíží se vydání podporující čipy M3. Vývojáře lze podpořit na GitHub Sponsors a Open Collective.

    Ladislav Hagara | Komentářů: 0
    26.8. 16:55 | Nová verze

    Kancelářský balík LibreOffice byl vydán ve verzi 26.8. Mimo jiné vylepšuje typografii a kompatibilitu s formáty MS Office, více v poznámkách k vydání.

    |🇵🇸 | Komentářů: 0
    26.8. 14:55 | Nová verze

    Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 26.8. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 7
    26.8. 11:44 | Nová verze

    Byla vydána nová verze 23.1.0, tj. první stabilní verze z nové řady 23.1.x, překladačové infrastruktury LLVM (Wikipedie). Přehled novinek v poznámkách k vydání: LLVM, Clang, LLD, Extra Clang Tools, Libc++, Polly a Flang.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (2%)
     (19%)
     (29%)
     (7%)
     (6%)
     (2%)
     (15%)
     (22%)
    Celkem 2508 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník

    Dotaz: BASH : Jak zjistit, jestli je položky již v array?

    11.12.2012 10:55 AleX
    BASH : Jak zjistit, jestli je položky již v array?
    Přečteno: 446×
    Ahoj, poradí někdo jak to zjistit? Díky

    Odpovědi

    11.12.2012 11:17 l4m4
    Rozbalit Rozbalit vše Re: BASH : Jak zjistit, jestli je položky již v array?
    for-cyklem, který projde celé pole (for x in "${a[@]}"...) a položky pěkně po jedné porovná pomocí test. A během psaní toho cyklu přemýšlet, zda je bash pro tuto úlohu vhodný nástroj...
    11.12.2012 11:30 AleX
    Rozbalit Rozbalit vše Re: BASH : Jak zjistit, jestli je položky již v array?
    Díky, V každém případě to vhodný jazyk není!

    Tak jsem to sesmolil ale nejde mi to, co je tam zle? Díky
    in_array() {
         for x in "${a[@]}"
         do
              if [ "$1" == "x" ]
              then
                   return 0
              else
                   return 1
              fi
         done
    } 
    
    if in_array "czech"
    then
          echo je
    else
          echo neni
    fi
    11.12.2012 11:48 l4m4
    Rozbalit Rozbalit vše Re: BASH : Jak zjistit, jestli je položky již v array?
    Přinejmenším chybí $ u x.
    11.12.2012 11:52 AleX
    Rozbalit Rozbalit vše Re: BASH : Jak zjistit, jestli je položky již v array?
    Tím to ale není...
    11.12.2012 11:56 AleX
    Rozbalit Rozbalit vše Re: BASH : Jak zjistit, jestli je položky již v array?
    Ještě bych to mohl napsat i takto, ale výsledek je stejný
    in_array() {
     for x in "${a[@]}"
     do
      if [ "$1" == "$x" ]
      then
       return 0
       break
      fi
     done
     return 1
    } 
    
    in_array "czech"
    if [ $? == 0 ]
    then
          echo "je"
    else
          echo "neni"
    fi
    11.12.2012 12:01 l4m4
    Rozbalit Rozbalit vše Re: BASH : Jak zjistit, jestli je položky již v array?
    Jo, a samozřejmě return je zapotřebí udělat pouze, když najdeš, jinak kontroluješ pouze první položku...
    11.12.2012 12:06 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: BASH : Jak zjistit, jestli je položky již v array?
    Tohle už funguje. Ještě někam na začátek dejte to pole, třeba
    a[0]="x"
    a[1]="czech"
    a[2]="y"
    a uvidíte, jak vám to pěkně půjde.

    Pro ladění doporučuji třeba toto:
     for x in "${a[@]}"
     do
       echo "arr: $x == $1"
    11.12.2012 12:08 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: BASH : Jak zjistit, jestli je položky již v array?
    Jo a break je nadbytečný.
    11.12.2012 12:19 AleX
    Rozbalit Rozbalit vše Re: BASH : Jak zjistit, jestli je položky již v array?
    break jsem tam dal proto, aby když najde shodu, neprocházel zbytečné zbytek pole, je to špatně?
    11.12.2012 12:40 Kit
    Rozbalit Rozbalit vše Re: BASH : Jak zjistit, jestli je položky již v array?
    Po returnu se ten break stejně už neprovede.
    11.12.2012 14:57 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
    Rozbalit Rozbalit vše Re: BASH : Jak zjistit, jestli je položky již v array?
    Pokud dokážeš ovlivnit, jak pole vzniká, tak stačí použít asociativní pole
    $ declare -A dict
    $ dict["foo"]="foo"
    $ if [[ ${dict["foo"]} != '' ]]; then echo "je tam"; fi
    je tam
    $ if [[ ${dict[42]} != '' ]]; then echo "je tam"; fi
    $
    
    Nejsem si teda jistý, jak je to interně implementováno, takže asociativní pole nemusí garantovat pořadí, ale v bashi člověk nikdy neví.
    When your hammer is C++, everything begins to look like a thumb.
    11.12.2012 15:39 Semo | skóre: 45 | blog: Semo
    Rozbalit Rozbalit vše Re: BASH : Jak zjistit, jestli je položky již v array?
    Predpokladajme, ze znak | sa nevyskytuje nikde v poli.
    pole=( a b c )
    IFS='|'
    [[ "${pole[*]}" == *a* ]] &&
      echo hura
    If you hold a Unix shell up to your ear, you can you hear the C.
    11.12.2012 15:43 Semo | skóre: 45 | blog: Semo
    Rozbalit Rozbalit vše Re: BASH : Jak zjistit, jestli je položky již v array?
    Eeeeee, oprava:
    pole=( aaa bb c )
    IFS='|'
    [[ "|${a[*]}|" == *"|bb|"* ]] &&
      echo hura
    If you hold a Unix shell up to your ear, you can you hear the C.

    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.