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

    Úřad pro ochranu osobních údajů řeší desítky stížností na jednotné měsíční hlášení zaměstnavatele, které stát spustil počátkem dubna. Systém, jenž má firmám odlehčit od desítek formulářů, nejenže výrazně zatížil jejich účetní oddělení, ale docházelo v něm i k únikům osobních dat zaměstnanců k firmám, kde nepracovali. Podle ministerstva práce a sociálních věcí stála za problémem technická chyba. „Incident se týkal několika stovek

    … více »
    Ladislav Hagara | Komentářů: 4
    včera 10:46 | Nová verze

    Byla vydána (𝕏, Bluesky) nová verze 22.0.0 open source webového aplikačního frameworku Angular (Wikipedie). Přehled novinek v příspěvku na blogu.

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

    Vim Classic byl vydán ve verzi 8.3. Drew DeVault oznámil tento fork editoru Vim (verze 8.2.0148, tj. těsně před zavedením Vim9 skriptování) v březnu letošního roku. Důvodem forku bylo, že vývojáři editorů Vim a Neovim začali při vývoji využívat LLM.

    Ladislav Hagara | Komentářů: 5
    včera 03:44 | Komunita

    Open source konference DevConf.CZ 2026 proběhne 18. a 19. června v Brně na FIT VUT. Publikován byl program a spuštěna byla registrace.

    Ladislav Hagara | Komentářů: 0
    3.6. 19:44 | Nová verze

    Společnost JetBrains uvolnila verzi 2 svého open-source velkého jazykového modelu (LLM) pro vývojáře Mellum.

    Ladislav Hagara | Komentářů: 0
    3.6. 14:44 | IT novinky

    Probíhá konference Microsoft Build 2026. Microsoft představuje své novinky: kvantový čip Majorana 2, Surface Laptop Ultra a Surface RTX Spark Dev Box s NVIDIA RTX Spark, Intelligent Terminal, Coreutils for Windows (fork Rust Coreutils), AI modely MAI, AI agenta Scout, platformu pro agent-first zařízení Project Solara, …

    Ladislav Hagara | Komentářů: 0
    3.6. 12:44 | Nová verze

    Google Chrome 149 byl prohlášen za stabilní. Nejnovější stabilní verze 149.0.7827.53 přináší řadu novinek. Podrobný přehled v poznámkách k vydání. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    3.6. 10:55 | Nová verze

    Pluto.jl, reaktivní notebook pro programovací jazyk Julia, dospěl do verze 1.0.

    Ladislav Hagara | Komentářů: 4
    2.6. 13:44 | Nová verze

    Byla vydána nová verze 12.0.0 vizuálního programovacího jazyka Snap! (Wikipedie) inspirovaného jazykem Scratch (Wikipedie). Přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 0
    2.6. 11:44 | IT novinky

    Počítačovou hru Gravity Circuit (ProtonDB) lze do 14. června do 19:00 získat na Steamu zdarma. Napořád.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (12%)
     (8%)
     (2%)
     (15%)
     (31%)
     (4%)
     (6%)
     (3%)
     (15%)
     (26%)
    Celkem 1818 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: BASH skript a vytvoreni interaktivniho menu

    14.12.2022 15:30 Jix0 | skóre: 24 | blog: Not only for humans
    BASH skript a vytvoreni interaktivniho menu
    Přečteno: 595×
    Zdravim.

    Chtel bych si upravit jeden ze svych stavajicich skriptu, tak aby jej bylo mozne ovladat ciselnymi volbami v ramci jakehosi interaktivniho menu. Uz chvili s tim bojuji a nedari se mi dosahnout ocekavaneho vysledku.

    Ve skriptu mam konstrukci select, ktera mi funguje, avsak pokud chci mit "vnorena" menu pod jednotlivymi volbami, skript se nespusti kvuli chybe parsovani a predpokladam, ze delam neco blbe, resp. ze mam konstrukci blbe zapsanou. Nicmene nemuzu ani za boha prijit na to proc. Potrebuji docilit toho aby napriklad pod volbou cislo 2, bylo dalsi menu s nekolika dalsimi polozkami.

    Skript konci s nasledujici chybou:
    ./menutest.sh: line 14: syntax error near unexpected token `opts'
    ./menutest.sh: line 14: `                 select opts in "${sub[@]}"'
    
    Pokud me nekdo dokazete navest co je spatne, moc mi tim pomuzete :-)

    Konstrukce skriptu je neco takoveho (vzor jsem prevzal z clanku, kde jsem hledal informace):
    #!/bin/bash
    
    PS3="Vyberte cislo: "
    
    items=("Item 1" "Item 2" "Item 3")
    sub=("TEST 1" "TEST 2" "TEST 3")
    
    while true; do
        select item in "${items[@]}" Quit
        do
            case $REPLY in
                1) echo "Vybrano cislo #$REPLY odpovidajici volbe $item"; break;;
                2) echo "Vybrano cislo #$REPLY odpovidajici volbe $item"; break;;
                     select opts in "${sub[@]}"
                          do
                             case $REPLY in
                            1) echo "TEST OK"; break;;
                             esac
                          done
                3) echo "Vybrano cislo #$REPLY odpovidajici volbe $item"; break;;
                $((${#items[@]}+1))) echo "Konec!"; break 2;;
                *) echo "Neznama volba $REPLY"; break;
            esac
        done
    done
    If you will not cooperate, you are to be executed! | Starting as a DJ

    Řešení dotazu:


    Odpovědi

    Řešení 1× (Jix0 (tazatel))
    14.12.2022 16:31 neal_cz | skóre: 29
    Rozbalit Rozbalit vše Re: BASH skript a vytvoreni interaktivniho menu
    Třeba tak?
    #!/bin/bash
     
    PS3="Vyberte cislo: "
     
    items=("Item 1" "Item 2" "Item 3")
    sub=("TEST 1" "TEST 2" "TEST 3")
     
    while true; do
        select item in "${items[@]}" Quit
        do
            case $REPLY in
                1) echo "Vybrano cislo #$REPLY odpovidajici volbe $item"; break;;
                2) echo "Vybrano cislo #$REPLY odpovidajici volbe $item";
                     select opts in "${sub[@]}"
                          do
                             case $REPLY in
                            1) echo "TEST OK"; break;;
                             esac
                          done
                          break;;
                3) echo "Vybrano cislo #$REPLY odpovidajici volbe $item"; break;;
                $((${#items[@]}+1))) echo "Konec!"; break 2;;
                *) echo "Neznama volba $REPLY"; break;
            esac
        done
    done
    
    15.12.2022 13:44 Jix0 | skóre: 24 | blog: Not only for humans
    Rozbalit Rozbalit vše Re: BASH skript a vytvoreni interaktivniho menu
    Diky. To je ono. Me sice shellcheck vyhazoval chybu na radku 13, ale asi jsem u toho sedel dlouho a nemohl prijit na to co tam mam spatne. Nyni to funguje.
    If you will not cooperate, you are to be executed! | Starting as a DJ
    14.12.2022 17:20 X
    Rozbalit Rozbalit vše Re: BASH skript a vytvoreni interaktivniho menu
    Na radku 13 mas predcasne ukoceny case.
    15.12.2022 03:40 tttttttttttttt
    Rozbalit Rozbalit vše Re: BASH skript a vytvoreni interaktivniho menu
    Na podobné věci používám fzf:

    echo "Item 1\nItem 2\nItem 3" | fzf

    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.