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 04:11 | IT novinky

    Společnost PINE64 kvůli nedostatku a vysokým cenám DRAM a eMMC dočasně pozastavuje výrobu linuxových zařízení. Výroba zařízení jako PineTime, PineVoice a Pinecil pokračuje.

    Ladislav Hagara | Komentářů: 0
    dnes 02:55 | IT novinky

    Společnost Stripe se dohodla na akvizici společnosti OpenRouter. Za 7,5 miliardy dolarů.

    Ladislav Hagara | Komentářů: 0
    dnes 01:33 | Nová verze

    Byla vydána nová verze 1.27 programovacího jazyka Go (Wikipedie). Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 16:00 | Pozvánky

    V pátek 28. srpna se v Praze uskuteční již osmý Mobile Linux Hackday. Jako obvykle se potkáme v pražské pobočce SUSE v Karlíně na Křižíkově, takže kromě mobilního Linuxu je to tentokrát i příležitost přijít se podívat na nově zrekonstruované kanceláře. Začínáme v 10:00, ale dorazit můžete samozřejmě kdykoliv v průběhu dne. Setkáním vás provede David Heidelberg, vývojář GPU ovladačů v Mesa 3D a jeden z hlavních lidí české komunity kolem … více »

    lkocman | Komentářů: 0
    včera 14:11 | IT novinky

    Představen byl Raspberry Pi Compute Module 5 Programming Jig. Jedná se o zařízení umožňující připravit Compute Module 5 do plně funkčního stavu bez nutnosti použití dalších vstupně / výstupních desek. Podporuje automatizaci pomocí nástroje rpi-sb-provisioner. Podrobnosti v dokumentaci.

    Ladislav Hagara | Komentářů: 1
    včera 05:55 | IT novinky

    Hackeři ve Francii ukradli data více než půl milionu daňových poplatníků. Je to jeden z největších hackerských útoků v dějinách země. O útoku z konce června informovala až teď daňová správa. Teprve od pondělí dotčeným občanům zasílá e-maily s instrukcemi, jak postupovat dál. Hackeři se sice nedostanou k penězům dotyčných, hrozí ale věrohodné podvody. Hackeři získali třeba celá jména, údaje o rodinných příslušnících nebo také údaje o

    … více »
    Ladislav Hagara | Komentářů: 19
    včera 04:44 | IT novinky

    Společnost Framework představila nový Framework Laptop 12 s Intel Core Series 3, Thunderbolt 4, Wi-Fi 7, volitelnou čtečkou otisků prstů a podsvícenou klávesnicí s open-source firmwarem ZMK. Objednat lze s předinstalovanou Fedorou 44 KDE Plasma.

    Ladislav Hagara | Komentářů: 0
    18.8. 16:44 | Nová verze

    Byl vydán Mozilla Firefox 154.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 154 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    18.8. 14:33 | Nová verze

    Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 168 (pdf).

    Ladislav Hagara | Komentářů: 0
    18.8. 11:55 | Nová verze

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

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (2%)
     (18%)
     (30%)
     (7%)
     (6%)
     (2%)
     (15%)
     (22%)
    Celkem 2437 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    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: 518×
    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.