abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 23:55 | Nová verze

    Byla vydána verze 1.79.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání na GitHubu. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    včera 14:33 | Zajímavý článek

    Byly zveřejněny výsledky průzkumu (infografika) mezi uživateli FreeBSD.

    Ladislav Hagara | Komentářů: 0
    včera 13:22 | IT novinky

    Na konferenci DevConf.CZ 2024 je na stánku Furi Labs prezentován linuxový telefon FuriPhone FLX1. Jeho cena 499 dolarů.

    Ladislav Hagara | Komentářů: 15
    včera 00:11 | Nová verze

    Bylo vydáno Eclipse IDE 2024-06 aneb Eclipse 4.32. Představení novinek tohoto integrovaného vývojového prostředí také na YouTube.

    Ladislav Hagara | Komentářů: 1
    12.6. 22:00 | Nová verze

    Proton, tj. fork Wine integrovaný v Steam Play a umožňující v Linuxu přímo ze Steamu hrát hry určené pouze pro Windows, byl vydán ve verzi 9.0-2 (𝕏). Přehled novinek se seznamem nově podporovaných her na GitHubu. Aktuální přehled her pro Windows běžících díky Protonu také na Linuxu na stránkách ProtonDB.

    Ladislav Hagara | Komentářů: 0
    12.6. 15:44 | Nová verze

    Po roce od vydání verze 15.5 bylo vydáno openSUSE Leap 15.6. Přehled novinek v nejnovější verzi této linuxové distribuce v oznámení o vydání a v poznámkách k vydání.

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

    Byla vydána nová verze 256 správce systému a služeb systemd (GitHub). Nově mimo jiné s run0 jako alternativou k sudo.

    Ladislav Hagara | Komentářů: 21
    12.6. 12:00 | IT novinky

    Společnost Oracle oznámila spolupráci s Google Cloudem, OpenAI a Microsoftem.

    Ladislav Hagara | Komentářů: 0
    12.6. 09:44 | Pozvánky

    Zítra začne v Brně na FIT VUT třídenní open source komunitní konference DevConf.CZ 2024. Vstup je zdarma, nutná je ale registrace. Na programu je celá řada zajímavých přednášek, lightning talků, meetupů a workshopů. Přednášky lze sledovat i online na YouTube kanálu konference. Aktuální dění lze sledovat na Matrixu, 𝕏 nebo Mastodonu.

    Ladislav Hagara | Komentářů: 6
    11.6. 23:33 | Nová verze

    Google Chrome 126 byl prohlášen za stabilní. Nejnovější stabilní verze 126.0.6478.55 přináší řadu oprav a vylepšení (YouTube). Podrobný přehled v poznámkách k vydání. Opraveno bylo 21 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    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: 336×
    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.