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 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
    dnes 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
    dnes 10:55 | Nová verze

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

    Ladislav Hagara | Komentářů: 3
    včera 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
    včera 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
    včera 11:00 | Bezpečnostní upozornění

    Nejnovější X.Org X server 21.1.23 a Xwayland 24.1.12 řeší 9 bezpečnostních chyb.

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

    npm balíčky @redhat-cloud-services byly kompromitovány.

    Ladislav Hagara | Komentářů: 5
    1.6. 22:22 | Bezpečnostní upozornění

    Byly publikovány informace o zranitelnosti CVE-2026-46243 pojmenované CIFSwitch v Linuxu od roku 2007. Běžný uživatel může získat práva roota (lokální eskalaci práv). V upstreamu je již opraveno.

    Ladislav Hagara | Komentářů: 0
    1.6. 19:22 | IT novinky

    Nvidia na své konferenci NVIDIA GTC Taipei 2026 představila řadu novinek. Společně s Microsoftem představili superčip NVIDIA RTX Spark (až 6 144 jader GPU, 20 jader CPU, 1 petaflop AI výkonu v FP4 a 128 GB jednotné paměti). První notebooky a stolní počítače s tímto čipem od Nvidie místo Intelu nebo AMD by se měly na trh dostat na podzim letošního roku.

    Ladislav Hagara | Komentářů: 10
    1.6. 13:22 | IT novinky

    Na Kickstarteru běží kampaň na podporu kapesního počítače s Linuxem CardputerZero od společnosti M5Stack. Postaven je na Raspberry Pi Compute Module 0. Podporuje moduly M5. Koupit lze s rozšířeními LoRa a CC1101.

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


    Dotaz: bash a spojeni vstupu s promnenou - neznalost syntaxe

    29.10.2009 11:48 Jcas | skóre: 19 | blog: linux v rukou ...
    bash a spojeni vstupu s promnenou - neznalost syntaxe
    Přečteno: 389×
    Dobrý den poprosím o radu, protože se mi nedaří najít řešení.

    První části scriptu definuji proměnné a počítám s tím, že se tyto propěné budou v praxi editovat. Tzn. že občas nějaká další přibude, nebo se nějaká odstraní. A z toho důvodu se snažím script uděla tak, aby tyto klíčová slova se nevyskytovali dále ve scriptu, abych nemusel přidávat proměnou na 10 míst někde ve scriptu.

    příklad
    1p=(1h 2h 3h 4h)
    1h="xterm thunar xclock"
    2h="xterm mousepad"
    3h="xterm gedit"
    atd.
    
    A V druhé části potřebuji tyto proměné vytáhnout. Základ mám. Script mi zkontroluje jednu z hodnot v poli a nyní potřebuji jen, aby se provedli příkazy, které nastartují to co mají.

    Mám uživatelský vstup, který je zapsán v proměné x a který se rovná jedné hodnotě v poli .
    read x
    # x == 1h, nebo 2h, nebo 3h atd.
    A nyní potřebuji, aby se nastartovaly příslušné programy a právě kvůly následné editaci se chci vyhnout, abych v této části použil něco jako
    if [ $x == $1h ] atd.
    Zkošel jsem eval, nebo něco jako ${$x} ale nic mi nefunguje.

    Možná jdu na to úplně blbě a proto děkuji za každou radu.

    Odpovědi

    29.10.2009 11:55 l4m4
    Rozbalit Rozbalit vše Re: bash a spojeni vstupu s promnenou - neznalost syntaxe
    Proměnné, kromě speciálních, začínají písmenem nebo podtržítkem. Takže syntakticky to je nesmysl celé od začátku.
    29.10.2009 12:16 dustin | skóre: 63 | blog: dustin
    Rozbalit Rozbalit vše Re: bash a spojeni vstupu s promnenou - neznalost syntaxe
    Přiznám se, že jsem vůbec nepochopil, o co ti jde.
    29.10.2009 12:30 jirka
    Rozbalit Rozbalit vše Re: bash a spojeni vstupu s promnenou - neznalost syntaxe
    viz prispevek od l4m4 - promenne nemohou zacinat cislici.

    Pokud jsem pochopil Vas dotaz spravne, tak potrebujete z

    h1="hodnota 1"
    h2="hodnota 2"
    h3="hodnota 3"
    
    read x
    ...
    
    tak po zadani napr. "h2" chcete do pomocne promenne ulozit hodnotu promenne $h2.
    Mozna to jde jednoduseji, ale me tak narychlo napadlo napr. pomoci eval:
    eval y=\$$x
    a pak uz si s promennou $y delejte co chcete.

    29.10.2009 13:05 Jirka P
    Rozbalit Rozbalit vše Re: bash a spojeni vstupu s promnenou - neznalost syntaxe
    Přesně tak, eval je na podobné případy klasika.

    Další možnost v bashi je použít nepřímé reference, takhle:
    
    read x
    echo ${!x}
    
    29.10.2009 15:52 Jcas | skóre: 19 | blog: linux v rukou ...
    Rozbalit Rozbalit vše Re: bash a spojeni vstupu s promnenou - neznalost syntaxe
    Evidentně se ještě ptám blbě. (to co jsem napsal byl příklad. Moje proměné nezačínají číslem.)
    p1=(h1 h2 h3)
    h1="xterm"
    
    atd
    read x
    Prověřím, že x obsaženo v poli pomocí for i in ....

    Nyní mám
    [ "$x" = "$i" ]
    A problém
    $x  #h1 neni prikaz a hlavne nevim jestli se 
    $x == h1 nebo se == h2 nebo ...
    
    eval y='$'$x #opet h1 neni prikaz
    Vím že v $x je jedna z hodnot, které jsou v poli, ale nejsu schopen spustit xterm.
    29.10.2009 16:22 l4m4
    Rozbalit Rozbalit vše Re: bash a spojeni vstupu s promnenou - neznalost syntaxe
    Jestli rozumím správě, problém je nakonec
    x=xterm
    $x
    
    Ale to funguje.

    Druhý způsob, tak to mohu chápat, je, že nedokážeš získat prvek pole:
    p=(a b c)
    i=1
    echo ${p1[$i]}
    
    ale nevidím, že bys iteroval přes ta pole numericky.

    Třetí možnost je získání hodnoty dvojité reference:
    x=xterm
    y=x
    echo ${!y}
    
    ale to už tu bylo zodpovězeno.

    Pak už fakt nevím, na co se ptáš.
    29.10.2009 18:14 Jcas | skóre: 19 | blog: linux v rukou ...
    Rozbalit Rozbalit vše Re: bash a spojeni vstupu s promnenou - neznalost syntaxe
    Děkuji mockrát Ta dvojitá reference bylo přesně to co jsem potřeboval.

    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.