abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 04:55 | Nová verze

    Byla vydána verze 30.2 svobodného softwaru OBS Studio (Open Broadcaster Software, Wikipedie) určeného pro streamování a nahrávání obrazovky počítače. Přehled novinek na GitHubu. Instalovat lze také z Flathubu.

    Ladislav Hagara | Komentářů: 0
    včera 17:11 | Nová verze

    Byl vydán Thunderbird 128 “Nebula”, tj. nová major verze poštovního klienta Thunderbird. Podrobnosti v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    11.7. 20:55 | IT novinky

    Aktivistický technologický kolektiv NoLog.cz spustil 7 nových služeb: anon.nolog.cz - NoLog identita, talk.nolog.cz - videokonferenční systém OpenTalk, vault.nolog.cz - bezpečný správce hesel pro jednotlivce a skupiny, search.nolog.cz - anonymní vyhledávač, kdy.nolog.cz - snadné domlouvání společných termínů, md.nolog.cz - editor pro společnou práci na textech ve formátu Markdown a nolog.chat - šifrovaný chat pro jednotlivce a skupiny.

    Ladislav Hagara | Komentářů: 0
    11.7. 02:33 | Nová verze

    V lednu byl otevřen editor kódů Zed od autorů editoru Atom a Tree-sitter. Tenkrát běžel pouze na macOS. V květnu byly oznámeny pokroky při portaci na Linux. Dnes byly oznámeny oficiální linuxové buildy.

    Ladislav Hagara | Komentářů: 48
    11.7. 00:22 | Zajímavý článek

    Behdad Esfahbod pro článek Stav vykreslování textu v roce 2024 sesbíral, jaký software se používá pro vykreslování textu na open-source desktopu. Volně navazuje na přehled z let 2009 až 2012. Autor je hlavní vývojář knihovny HarfBuzz.

    Fluttershy, yay! | Komentářů: 4
    10.7. 18:55 | IT novinky

    Po 17 letech ukončila svou činnost (𝕏, Facebook) mezinárodní nezisková organizace Girls in Tech (Wikipedie) usnadňující ženám vstup do světa technologií. Došly finance. V dubnu ze stejného důvodu skončila organizace Women Who Code.

    Ladislav Hagara | Komentářů: 77
    10.7. 15:55 | Nová verze

    Byla vydána (𝕏) nová verze 9.6 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    10.7. 15:22 | IT novinky

    Společnosti O2 Czech Republic a Nordic Telecom Holding podepsaly 24. 6. 2024 smlouvu o prodeji stoprocentního podílu v Nordic Telecom Regional. Transakce podléhá schválení příslušnými úřady.

    Ladislav Hagara | Komentářů: 17
    10.7. 13:33 | Bezpečnostní upozornění

    Blast-RADIUS, zranitelnost v AAA protokolu RADIUS související s použitím hašovací funkce MD5. S vlastní doménou a logem.

    Ladislav Hagara | Komentářů: 2
    10.7. 00:11 | Bezpečnostní upozornění

    Podle belgické spotřebitelské organizace Testaankoop routery Linksys Velop Pro 6E a Velop Pro 7 při instalaci posílají SSID nakonfigurované Wi-Fi sítě a příslušné heslo v otevřeném tvaru na servery Amazonu (AWS) [Stack Diary, Testaankoop].

    Ladislav Hagara | Komentářů: 6
    Rozcestník

    Dotaz: Bash a oprava scriptu

    14.6.2012 13:46 Othelo
    Bash a oprava scriptu
    Přečteno: 369×
    Ahoj, tento kousek kodu funguje
    var=$(dialog --ascii-lines --menu "Hlavní menu" 0 100 0 \
    1 "Obsluha Apache" \
    2 "Obsluha MySQL" \
    3 "Obsluha PHP" 2>&1 >/dev/tty)
    Když ale nechci nic posílat do nějakého dev/tty (coz ani nevim co to presne je, jen jsem dohledal, ze se to tam posila pri nejake chybe) tak to proste smazu a v ten moment je script nefunkcni
    var=$(dialog --ascii-lines --menu "Hlavní menu" 0 100 0 \
    1 "Obsluha Apache" \
    2 "Obsluha MySQL" \
    3 "Obsluha PHP")
    Poradí někdo správný zapis ? Díky

    Řešení dotazu:


    Odpovědi

    14.6.2012 14:06 iKoulee | skóre: 19
    Rozbalit Rozbalit vše Re: Bash a oprava scriptu
    $(...) znamena ze se prikaz spusti v subshellu, takze je potreba rict kam chcete dat vystup
    var=$(dialog --ascii-lines --stdout --menu "Hlavní menu" 0 100 0 \
    1 "Obsluha Apache" \
    2 "Obsluha MySQL" \
    3 "Obsluha PHP")
    
    Even if you fall on your face, you’re still moving forward
    14.6.2012 14:16 Othelo
    Rozbalit Rozbalit vše Re: Bash a oprava scriptu
    Děkuji a musím ten dialog spouštět v subshelu?

    Když to udělám takto?
    dialog --ascii-lines --menu "Hlavní menu" 0 100 0 \
    1 "Obsluha Apache" \
    2 "Obsluha MySQL" \
    3 "Obsluha PHP"
    Jak bych pak mohl třeba pomocí "case" rozlišit to na co se kliklo? Děkuji
    14.6.2012 15:02 iKoulee | skóre: 19
    Rozbalit Rozbalit vše Re: Bash a oprava scriptu
    subshel se tady primo vybizi pouzit, pravdepodobne by se dalo pouzit i nejake zlo s pomoci pipe, ale subsel bude jednodussi a nejspsi i citelnejsi
    case $var in
      1)
        echo "Indian";
        ;;
      2)
        echo "Muj dotazovaci jazyk";
        ;;
      3)
        echo "PHP: hypertextovy preprocesor";
        ;;
      *)
        echo "Vsechno vedle";
        ;;
    esac
    
    Even if you fall on your face, you’re still moving forward
    14.6.2012 18:26 Othelo
    Rozbalit Rozbalit vše Re: Bash a oprava scriptu
    Děkuji za informace..

    a když to budu chtít vypsat pomocí pole pro lepší pozdejsi upravu tak jsem to zkousel takto, do pole DATA dam nazvy polozek a do pole DATA2 co se spustit. Jenže to nejsem schopen sesmolit:( Zkoušel jsem kde co ale myslím, že se to dělá úplně jinak nez si myslím.. Poradíte ? Dík
    DATA=("Obsluha Apache" "Obsluha MySQL" "Obsluha PHP")
    DATA2=(apache mysql php)
    
    var=$(dialog --ascii-lines --stdout --menu "Hlavní menu" 0 100 0 \
    
    for i in ${!DATA[*]}
     do
      $i")" ${DATA[$i]}
     done)
    
    case $var in
     for i in ${!DATA2[*]}
     do
      $i")" ${DATA2[$i]};;
     done
    esac
    14.6.2012 19:10 Kit
    Rozbalit Rozbalit vše Re: Bash a oprava scriptu
    Vždy je lepší dát k sobě řetězce "apache" a "Obsluha Apache" kvůli konzistenci programu. Zkus to přes dvojrozměrné pole nebo ještě lépe jako seznam dvojic.
    15.6.2012 10:03 Kit
    Rozbalit Rozbalit vše Re: Bash a oprava scriptu
    A co tak to udělat triviálně?
    var=$(dialog --ascii-lines --stdout --menu "Hlavní menu" 0 100 0 \
       apache "Obsluha Apache" \
       mysql "Obsluha MySQL" \
       php "Obsluha PHP")
    $var
    20.6.2012 14:53 iKoulee | skóre: 19
    Rozbalit Rozbalit vše Re: Bash a oprava scriptu
    Predstavujete si ten bash moc jako metaprogramovani :-)

    Nasledujici postup plati pouze pro bash, pro jine shell kompatibilni interpretery fungovat nebude a je potreba to udelat trochu sloziteji.

    Na vysvetlenou:
    • pouzil jsem asociativni pole, tento pristup se k tomu vybizi a neni to tak komplikovane jako prace s multidimenzionalnimi poli, nebo n-ticemi, ktere bash nativne nepodporuje a je tedy treba obcuravat zmenou $IFS atp.
    • pole ve kterem muzete mit volby ulozene pak projdeme for cyklem znasilnenym, tak aby se choval jako klasicky foreach
    • prikaz sestaveny v promnenne menuItems pak vyhodnotime za pomoci eval ktery se postara o spravne escapovane uvozovky, vysledek se spusti a dal je to jiz jasne
    #!/bin/bash
    
    declare -A descriptions=(
      [apache]="Obsluha Apache" \
      [mysql]="Obsluha MySQL" \
      [php]="Obsluha PHP");
    
    menuItems="";
    for key in ${!descriptions[@]}; do
      menuItems="$(echo $menuItems $key \"${descriptions[$key]}\")";
    done;
    
    echo $menuItems;
    menuItems="dialog --ascii-lines --stdout --menu \"Hlavní menu\" 0 100 0 $menuItems";
    var=$(eval $menuItems);
    echo "Volba: $var";
    
    Even if you fall on your face, you’re still moving forward
    20.6.2012 14:59 iKoulee | skóre: 19
    Rozbalit Rozbalit vše Re: Bash a oprava scriptu
    jeste drobna oprava radek 10 je zbytecne slozity a nakladny, omylem jsem to stvoril za pomoci copy& paste, lepe takhle:
    menuItems="$menuItems $key \"${descriptions[$key]}\"";
    
    Even if you fall on your face, you’re still moving forward
    14.6.2012 14:14 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: Bash a oprava scriptu
    No tak to pošli do /dev/null :-)

    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.