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 01:22 | Nová verze

    Byla vydána nová verze 1.12.0 dynamického programovacího jazyka Julia (Wikipedie) určeného zejména pro vědecké výpočty. Přehled novinek v příspěvku na blogu a v poznámkách k vydání. Aktualizována byla také dokumentace.

    Ladislav Hagara | Komentářů: 0
    včera 15:11 | Bezpečnostní upozornění

    V Redisu byla nalezena a v upstreamu již opravena kritická zranitelnost CVE-2025-49844 s CVSS 10.0 (RCE, vzdálené spouštění kódu).

    Ladislav Hagara | Komentářů: 4
    včera 14:00 | IT novinky

    Ministr a vicepremiér pro digitalizaci Marian Jurečka dnes oznámil, že přijme rezignaci ředitele Digitální a informační agentury Martina Mesršmída, a to k 23. říjnu 2025. Mesršmíd nabídl svou funkci během minulého víkendu, kdy se DIA potýkala s problémy eDokladů, které některým občanům znepříjemnily využití možnosti prokázat se digitální občankou u volebních komisí při volbách do Poslanecké sněmovny.

    Ladislav Hagara | Komentářů: 13
    včera 12:33 | Zajímavý software

    Společnost Meta představila OpenZL. Jedná se o open source framework pro kompresi dat s ohledem na jejich formát. Zdrojové kódy jsou k dispozici na GitHubu.

    Ladislav Hagara | Komentářů: 0
    včera 03:33 | IT novinky

    Google postupně zpřístupňuje českým uživatelům Režim AI (AI Mode), tj. nový režim vyhledávání založený na umělé inteligenci. Režim AI nabízí pokročilé uvažování, multimodalitu a možnost prozkoumat jakékoliv téma do hloubky pomocí dodatečných dotazů a užitečných odkazů na weby.

    Ladislav Hagara | Komentářů: 0
    7.10. 18:11 | Nová verze

    Programovací jazyk Python byl vydán v nové major verzi 3.14.0. Podrobný přehled novinek v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 2
    7.10. 16:33 | IT novinky

    Bylo oznámeno, že Qualcomm kupuje Arduino. Současně byla představena nová deska Arduino UNO Q se dvěma čipy: MPU Qualcomm Dragonwing QRB2210, na kterém může běžet Linux, a MCU STM32U585 a vývojové prostředí Arduino App Lab.

    Ladislav Hagara | Komentářů: 4
    7.10. 15:55 | Nová verze

    Multiplatformní open source voxelový herní engine Luanti byl vydán ve verzi 5.14.0. Podrobný přehled novinek v changelogu. Původně se jedná o Minecraftem inspirovaný Minetest v říjnu loňského roku přejmenovaný na Luanti.

    Ladislav Hagara | Komentářů: 0
    7.10. 13:22 | Nová verze

    Byla vydána nová stabilní verze 6.10 (YouTube) multiplatformního frameworku a GUI toolkitu Qt. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    6.10. 23:55 | Komunita

    Ubuntu 26.04 LTS bude (𝕏) Resolute Raccoon (rezolutní mýval).

    Ladislav Hagara | Komentářů: 5
    Jaké řešení používáte k vývoji / práci?
     (38%)
     (46%)
     (15%)
     (17%)
     (21%)
     (15%)
     (17%)
     (15%)
     (15%)
    Celkem 198 hlasů
     Komentářů: 13, poslední včera 07:41
    Rozcestník

    Dotaz: Jak dostat v BASHI výsledek z ls do menu

    20.7.2012 17:18 Martin
    Jak dostat v BASHI výsledek z ls do menu
    Přečteno: 298×
    Ahoj, prosím o pomoc, už fakt nevím jak na to.

    Při použití
    ls /home/ | while read DIR
    do
    	echo $DIR
    done
    dostanu výsledek
    20_07_2012_16_04_05_backup_http
    20_07_2012_16_04_08_backup_http
    20_07_2012_16_04_26_backup_http
    20_07_2012_16_04_35_backup_http
    a potřebuji označit jeden ten adresář z nějakého menu, něco jako tohle
    echo "MENU"
    01 - 20_07_2012_16_04_05_backup_http
    02 - 20_07_2012_16_04_08_backup_http
    03 - 20_07_2012_16_04_26_backup_http
    04 - 20_07_2012_16_04_35_backup_http
    
    echo -n " Zadejte Vaši volbu : "
    read choice
    
    case $choice in
    01) echo "1";;
    02) echo "2";;
    03) echo "3";;
    04) echo "2";;
    esac
    Poradíte prosím někdo? Děkuji

    Řešení dotazu:


    Odpovědi

    pepe_ avatar 20.7.2012 17:34 pepe_ | skóre: 48
    Rozbalit Rozbalit vše Re: Jak dostat v BASHI výsledek z ls do menu

    a co za pomoci programu dialog , nebude to hezčí ?

    20.7.2012 18:26 Martin
    Rozbalit Rozbalit vše Re: Jak dostat v BASHI výsledek z ls do menu
    Jistě by to hezčí bylo, ale potřebuji to klasickou cestou.. tj bez použití dialogu. Ale díky za tip ;)
    Řešení 1× (frEon)
    20.7.2012 18:07 pavel
    Rozbalit Rozbalit vše Re: Jak dostat v BASHI výsledek z ls do menu
    Prosím tě, snaž se příště trochu hledat na internetu.

    Příklad 1:
    #!/bin/bash
    
    dirs=(*/)
    
    read -p "$(
            f=0
            for dirname in "${dirs[@]}" ; do
                    echo "$((++f)): $dirname"
            done
    
            echo -ne 'Please select a directory > '
    )" selection
    
    selected_dir="${dirs[$((selection-1))]}"
    
    echo "You selected '$selected_dir'"
    
    
    Příklad 2:
    
    #!/bin/bash
    printf "Please select folder:\n"
    select d in */; do test -n "$d" && break; echo ">>> Invalid Selection"; done
    cd "$d" && pwd
    
    
    
    Funguje to v bashi, pro jiný shel (sh) by to snad někdo mohl upravit.
    20.7.2012 18:17 Martin
    Rozbalit Rozbalit vše Re: Jak dostat v BASHI výsledek z ls do menu
    Já jsem nic nehledal, celou donu čekám až mě sem pastnete takovou sračku :-(
    20.7.2012 18:31 pavel
    Rozbalit Rozbalit vše Re: Jak dostat v BASHI výsledek z ls do menu
    Ty mě taky.
    pepe_ avatar 20.7.2012 23:00 pepe_ | skóre: 48
    Rozbalit Rozbalit vše Re: Jak dostat v BASHI výsledek z ls do menu

    Zamknout a zahodit klíče.

    21.7.2012 01:47 Patrik Uhrak | skóre: 31 | blog: pato
    Rozbalit Rozbalit vše Re: Jak dostat v BASHI výsledek z ls do menu

    Takto by to mohlo vyzerat tiez, je tam aj co to osetrene.

    #!/bin/bash
    
    ## Je mozne zadat top level adresar ako argument pre skript: script /home
    ## ,ak nie je zadany, tak sa berie aktualny adresar, kde sa nachadzame.
    ## treba odkomentovat 
    #top_dir="$1"
    #def_top_dir="${top_dir:-$PWD}"
    ## zakomentovat nasledovny riadok, ak sa pouzije predchadzajuci sposob zadavania top level adresara. 
    def_top_dir="/home/"
    declare -i index=1 select
    declare -a array_dirs=( "$def_top_dir"/*/ )
    
    # overenie, ci je adresar dostupny na citanie
    [[ -r "$def_top_dir" ]] || { echo "$def_top_dir neexistuje alebo je necitatelny."; exit 1; }
    # ak by sa nenasiel ziadny podadresar, tak nedojde k expanzii a tym padom by prvy a jediny
    # prvok v poli bol "$def_top_dir"/*/; pole bude vzdy obsahovat aspon jeden prvok
    [[ -d "${array_dirs[1]}" ]] || { echo "V $def_top_dir sa ziadne podadresare nenasli."; exit 1; }
    
    
    for item in "${array_dirs[@]}"
    do
            # pole ma index zacinajuci od 0, no pre cloveka (pre mna) ,  je
            # logickejsie prvy prvok nez nulty prvok, preto $(( index - 1 ))
            echo "$index : ${array_dirs[$(( $index - 1 ))]}"
            (( index++ ))
    done
    
    while read -p "Zadaj index pozadovaneho adresara : " select
    do
            (( 0 < select )) && (( select <= ${#array_dirs[@]} )) && break || echo "Index je mimo rozsahu [ 1 - ${#array_dirs[@]} ]."
    done
    
    echo "${array_dirs[$(( $select - 1 ))]}"
    
    

    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.