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 13:22 | IT novinky

    Steve Jobs a superpočítač Cray-1 budou vyobrazeny na pamětních jednodolarových mincích vyražených v příštím roce v rámci série Americká inovace. Série má 57 mincí, tj. 57 inovací. Poslední 4 mince budou vyraženy v roce 2032.

    Ladislav Hagara | Komentářů: 4
    včera 12:22 | Pozvánky

    Byl zveřejněn průběžně aktualizovaný program konference OpenAlt 2025 o otevřeném softwaru a datech, IT bezpečnosti, DIY a IoT. Konference proběhne o víkendu 1. a 2. listopadu v prostorách FIT VUT v Brně. Vstup je zdarma.

    Ladislav Hagara | Komentářů: 0
    včera 12:00 | IT novinky

    Senát včera opětovně nepřijal návrh ústavního zákona, který měl do Listiny základních práv a svobod zakotvit právo občanů platit v hotovosti nebo být off-line. Návrh předložila skupina senátorů již v roce 2023. Senát dnes návrh neschválil, ale ani nezamítl. Pokud by ho přijal, dostala by ho k projednání Sněmovna a vyjádřila by se k němu vláda.

    Ladislav Hagara | Komentářů: 10
    16.10. 23:55 | Nová verze

    V programovacím jazyce Go naprogramovaná webová aplikace pro spolupráci na zdrojových kódech pomocí gitu Forgejo byla vydána ve verzi 13.0 (Mastodon). Forgejo je fork Gitei.

    Ladislav Hagara | Komentářů: 0
    16.10. 14:22 | Bezpečnostní upozornění

    Společnost Eclypsium se na svém blogu rozepsala o bezpečnostním problému počítačů Framework. Jedná se o zranitelnost v UEFI umožňující útočníkům obejít Secure Boot.

    Ladislav Hagara | Komentářů: 1
    16.10. 02:33 | Nová verze

    Editor kódů Zed (Wikipedie) po macOS a Linuxu s verzí 0.208.4běží také ve Windows.

    Ladislav Hagara | Komentářů: 7
    15.10. 17:44 | IT novinky

    Apple dnes představil 14palcový MacBook Pro, iPad Pro a Apple Vision Pro s novým čipem M5.

    Ladislav Hagara | Komentářů: 38
    15.10. 13:55 | Nová verze

    Debian pro mobilní zařízení Mobian (Wikipedie) byl vydán ve verzi 13 Trixie. Nová stabilní verze je k dispozici pro PINE64 PinePhone, PinePhone Pro a PineTab, Purism Librem 5, Google Pixel 3a a 3a XL, OnePlus 6 a 6T a Xiaomi Pocophone F1.

    Ladislav Hagara | Komentářů: 2
    15.10. 13:11 | IT novinky

    Operátor O2 představil tarif Datamanie 1200 GB . Nový tarif přináší 1200 GB dat s neomezenou 5G rychlostí, a také možnost neomezeného volání do všech sítí za 15 Kč na den. Při roční variantě předplatného zákazníci získají po provedení jednorázové platby celou porci dat najednou a mohou je bezstarostně čerpat kdykoli během roku. Do 13. listopadu jej O2 nabízí za zvýhodněných 2 988 Kč. Při průměrné spotřebě tak 100 GB dat vychází na 249 Kč měsíčně.

    Ladislav Hagara | Komentářů: 16
    15.10. 12:33 | Bezpečnostní upozornění

    Byly publikovány informace o útoku na zařízení s Androidem pojmenovaném Pixnapping Attack (CVE-2025-48561). Aplikace může číst citlivá data zobrazovaná jinou aplikací. V demonstračním videu aplikace čte 2FA kódy z Google Authenticatoru.

    Ladislav Hagara | Komentářů: 1
    Jaké řešení používáte k vývoji / práci?
     (38%)
     (46%)
     (20%)
     (21%)
     (24%)
     (18%)
     (21%)
     (18%)
     (18%)
    Celkem 234 hlasů
     Komentářů: 14, poslední 14.10. 09:04
    Rozcestník

    Dotaz: Promněná for, pomoct ze scriptem

    20.11.2010 15:37 goryllaz
    Promněná for, pomoct ze scriptem
    Přečteno: 240×
    Potřebuji pomoct dělám si převodník měny ale cyklus for my nechce sebrat všechny hodnoty z proměnný. Prosím poste mi co mam dělat. Děkuji za každou pomoc :)
    #!/bun/bash
    
    declare x
    declare y
    declare z
    declare -a vstup
    
    read -p "převod mněny pr. (200 EUR to CZK): " x
    
    z=1
    for y in $( echo $x | cut -f$z -d' ' ) ; do 
    vstup[$z]=$y && z=$((z+1)) ; 
    done
    
    exit 0
    

    Odpovědi

    20.11.2010 21:11 Patrik Uhrak | skóre: 31 | blog: pato
    Rozbalit Rozbalit vše Re: Promněná for, pomoct ze scriptem

    Zdravim,

    ono by bolo mozno vhodne trochu objasnit, ako to ma cele fungovat. Tvoj skript obsahuje niekolko chyb alebo nepresnosti.

    Tak podme rad radom:

     

    1. #! /bun/bash zrejme nebude spravne, skus

    which bash

    a to zadaj za znaky #!

     

    2. Cely ten cyklus je zvlastny, ak chces prechadzat kazdu cast textu oddelenu medzerami, tak mozes takto:

    for SLOVO in ${x}
    do
           # vyraz ${#vstup[@]} vracia pocet poloziek v poli
           # nie je nutne pouzit ziadnu premennu ako index
            vstup[$(( ${#vstup[@]} +1 ))]="$i"
    done

    Teda ak si to chcel.

     

    3. Bolo by vhodnejsie pisat nazvy premennych vystiznejsie. Ak bude skript dlhsi, tak to bude peklo.

     

    Tu je moje riesenie, ma chyby a je to len z eur do cz a spat. Ale ako zaklad a ukazka, ako sa to dalo spravit, posluzi:

    #! /bin/bash

    ## Udava kurz
    CZKTOEUR="$( echo '1 / 24.72' | bc -l )"
    EURTOCZK='24.72'

    # nacitanie vstupu od uzivatela
    # Myslim si,ze pokial tu nie je ziaden cyklus, tak
    # je vhodnejsie zadat hodnotu pre VSTUP priamo v shell
    # ako parameter pre skript
    read -p "převod mněny pr. (200 EUR to CZK): " VSTUP

    # vstup je 200 eur to czk
    # Hodnota premennej HODNOTA_VSTUP bude teda 200
    # Odstranuje sa najdlhsi nalez od konca hodnoty premennej, ktory zacina medzerou a nasleduje za nou cokolvek
    HODNOTA_VSTUP="${VSTUP%% *}"

    # Porovnava sa hodnota VSTUP oproti regularnemu vyrazu
    # Cely reg. vyraz sa snazi vyhoviet v pripade, ze sa zada Czk to Eur alebo CZk to euR atd.
    # a samozrejme dolezitejsie je, ze zisti z ktorej meny do ktorej
    if [[ "${VSTUP}" =~ .*[{E,e},{U,u},{R,r}].*[{C,c},{Z,z},{K,k}] ]]
    then

    HODNOTA_VYSTUP="$( echo "${HODNOTA_VSTUP} * ${EURTOCZK}" | bc )"
    # Zaokruhlime vysledne hodnoty na dve desatinne miesta pomocou vyrazu printf %.2f
    printf "Za %.2f EUR dostanete %.2f CZK\n" "${HODNOTA_VSTUP}" "${HODNOTA_VYSTUP}"
    elif [[ "${VSTUP}" =~ .*[{C,c},{Z,z},{K,k}].*[{E,e},{U,u},{R,r}] ]]
    then
    HODNOTA_VYSTUP="$( echo "${HODNOTA_VSTUP} * ${CZKTOEUR}" | bc )"
    printf "Za %.2f CZK dostanete %.2f EUR\n" "${HODNOTA_VSTUP}" "${HODNOTA_VYSTUP}"
    fi

    exit 0

     

    Kazdopadne, nech ta to neodradza. Ked bude chut a vola, tak to bude dobre vsetko. Kazdy sa nejak uci. A ja niesom vynimkou aj s mojimi chybami. ;)

    20.11.2010 21:44 Patrik Uhrak | skóre: 31 | blog: pato
    Rozbalit Rozbalit vše Re: Promněná for, pomoct ze scriptem

    Este ti dam do pozornosti toto:

    http://www.gnu.org/software/bash/manual/bashref.html

    a troskou snahy najdes aj nieco v tvojom rodnom jazyku.

    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.