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 16:11 | Nová verze

    Byl vydán Mozilla Firefox 152.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 152 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 1
    dnes 14:11 | Nová verze

    Desktopové prostředí KDE Plasma bylo vydáno ve verzi 6.7 (Mastodon). Přehled novinek i s videi a se snímky obrazovek v oficiálním oznámení. Podrobný přehled v seznamu změn.

    Ladislav Hagara | Komentářů: 5
    dnes 11:44 | Komunita

    Hříčka xsnow, která na ploše spustí sněžení, je protestware. Pokud jste v Rusku (LANG=ru), zobrazuje ukrajinské vlajky.

    Ladislav Hagara | Komentářů: 23
    dnes 11:11 | Nová verze

    UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala beta verzi Ubuntu Touch 24.04-2.0. Nová verze již počítá s výřezy pro fotoaparát (notch) a zaoblenými rohy displeje. Webový prohlížeče Morph přešel z Chromia 87 na Chromium 134. Do shellu Lomiri byl přidán editor snímků obrazovky.

    Ladislav Hagara | Komentářů: 0
    dnes 04:22 | Komunita

    V Praze probíhá Flock 2026, tj. konference pro přispěvatele a příznivce Fedory. Přednášky lze sledovat také na YouTube.

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

    Node-RED (Wikipedie, GitHub), webová aplikace postavená na Node.js pro vizuální programování a propojování hardwarových zařízení, API a online služeb, byl vydán ve verzi 5.0. Přehled novinek v příspěvku na blogu.

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

    Byla vydána nová verze 3.27.0 FreeRDP, tj. svobodné implementace protokolu RDP (Remote Desktop Protocol). Opraveno bylo 5 zranitelností.

    Ladislav Hagara | Komentářů: 0
    včera 23:11 | Komunita

    Řídící výbor GCC schválil záměr do GCC začlenit backend WebAssembly.

    Ladislav Hagara | Komentářů: 2
    14.6. 21:00 | Nová verze

    Po 9 týdnech vývoje od vydání Linuxu 7.0 oznámil Linus Torvalds vydání Linuxu 7.1. Přehled novinek a vylepšení na LWN.net: první a druhá polovina začleňovacího okna a časem také na Linux Kernel Newbies.

    Ladislav Hagara | Komentářů: 0
    14.6. 13:33 | Zajímavý software

    Cheat Engine (Wikipedie) je s verzí 7.7 k dispozici už také pro Linux. Jedná se o proprietární skener/debugger paměti používaný především k cheatování v počítačových hrách.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (8%)
     (2%)
     (16%)
     (31%)
     (3%)
     (6%)
     (3%)
     (15%)
     (26%)
    Celkem 1918 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: 598×
    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.