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 11:55 | Humor

    Microsoft poskytl FBI uživatelské šifrovací klíče svého nástroje BitLocker, nutné pro odemčení dat uložených na discích třech počítačů zabavených v rámci federálního vyšetřování. Tento krok je prvním známým případem, kdy Microsoft poskytl klíče BitLockeru orgánům činným v trestním řízení. BitLocker je nástroj pro šifrování celého disku, který je ve Windows defaultně zapnutý. Tato technologie by správně měla bránit komukoli kromě

    … více »
    NUKE GAZA! 🎆 | Komentářů: 28
    včera 01:44 | Komunita

    Spotify prostřednictvím svého FOSS fondu rozdělilo 70 000 eur mezi tři open source projekty: FFmpeg obdržel 30 000 eur, Mock Service Worker (MSW) obdržel 15 000 eur a Xiph.Org Foundation obdržela 25 000 eur.

    Ladislav Hagara | Komentářů: 3
    23.1. 18:11 | Zajímavý software

    Nazdar! je open source počítačová hra běžící také na Linuxu. Zdrojové kódy jsou k dispozici na GitHubu. Autorem je Michal Škoula.

    Ladislav Hagara | Komentářů: 2
    23.1. 16:55 | Nová verze

    Po více než třech letech od vydání verze 1.4.0 byla vydána nová verze 1.5.0 správce balíčků GNU Guix a na něm postavené stejnojmenné distribuci GNU Guix. S init systémem a správcem služeb GNU Shepherd. S experimentální podporou jádra GNU Hurd. Na vývoji se podílelo 744 vývojářů. Přibylo 12 525 nových balíčků. Jejich aktuální počet je 30 011. Aktualizována byla také dokumentace.

    Ladislav Hagara | Komentářů: 9
    23.1. 15:44 | Zajímavý software

    Na adrese gravit.huan.cz se objevila prezentace minimalistického redakčního systému GravIT. CMS je napsaný ve FastAPI a charakterizuje se především rychlým načítáním a jednoduchým ukládáním obsahu do textových souborů se syntaxí Markdown a YAML místo klasické databáze. GravIT cílí na uživatele, kteří preferují CMS s nízkými nároky, snadným verzováním (např. přes Git) a možností jednoduchého rozšiřování pomocí modulů. Redakční

    … více »
    2012 | Komentářů: 0
    23.1. 12:55 | Zajímavý software

    Tým Qwen (Alibaba Cloud) uvolnil jako open-source své modely Qwen3‑TTS pro převádění textu na řeč. Sada obsahuje modely VoiceDesign (tvorba hlasu dle popisu), CustomVoice (stylizace) a Base (klonování hlasu). Modely podporují syntézu deseti různých jazyků (čeština a slovenština chybí). Stránka projektu na GitHubu, natrénované modely jsou dostupné na Hugging Face. Distribuováno pod licencí Apache‑2.0.

    NUKE GAZA! 🎆 | Komentářů: 0
    23.1. 01:11 | Nová verze

    Svobodný citační manažer Zotero (Wikipedie, GitHub) byl vydán v nové major verzi 8. Přehled novinek v příspěvku na blogu.

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

    Byla vydána verze 1.93.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    22.1. 14:00 | Komunita

    Svobodný operační systém ReactOS (Wikipedie), jehož cílem je kompletní binární kompatibilita s aplikacemi a ovladači pro Windows, slaví 30. narozeniny.

    Ladislav Hagara | Komentářů: 8
    22.1. 11:00 | IT novinky

    Společnost Raspberry Pi má nově v nabídce flash disky Raspberry Pi Flash Drive: 128 GB za 30 dolarů a 256 GB za 55 dolarů.

    Ladislav Hagara | Komentářů: 2
    Které desktopové prostředí na Linuxu používáte?
     (18%)
     (5%)
     (0%)
     (10%)
     (22%)
     (3%)
     (5%)
     (2%)
     (11%)
     (34%)
    Celkem 607 hlasů
     Komentářů: 17, poslední 22.1. 15:24
    Rozcestník

    Dotaz: Promněná for, pomoct ze scriptem

    20.11.2010 15:37 goryllaz
    Promněná for, pomoct ze scriptem
    Přečteno: 246×
    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.