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í
×
    včera 23:55 | Komunita

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

    Ladislav Hagara | Komentářů: 0
    včera 21:00 | Nová verze

    Netwide Assembler (NASM) byl vydán v nové major verzi 3.00. Přehled novinek v poznámkách k vydání v aktualizované dokumentaci.

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

    Linuxová distribuce Frugalware (Wikipedie) ke konci roku 2025 oficiálně končí.

    Ladislav Hagara | Komentářů: 0
    včera 17:22 | Nová verze

    Byla vydána nová verze 3.0.6 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP bude brzy k dispozici také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    včera 16:11 | IT novinky

    Americký výrobce čipů AMD uzavřel s americkou společností OpenAI smlouvu na několikaleté dodávky vyspělých mikročipů pro umělou inteligenci (AI). Součástí dohody je i předkupní právo OpenAI na přibližně desetiprocentní podíl v AMD.

    Ladislav Hagara | Komentářů: 1
    včera 12:22 | Nová verze Ladislav Hagara | Komentářů: 0
    5.10. 20:00 | Komunita

    Byly zpracovány a na YouTube zveřejněny videozáznamy z konference LinuxDays 2025.

    Ladislav Hagara | Komentářů: 0
    4.10. 15:22 | IT novinky

    Na konferenci LinuxDays 2025 byl oficiálně představen nový router Turris Omnia NG.

    Ladislav Hagara | Komentářů: 34
    4.10. 05:22 | Komunita

    Přímý přenos (YouTube) z konference LinuxDays 2025, jež probíhá tento víkend v Praze v prostorách FIT ČVUT. Na programu je spousta zajímavých přednášek.

    Ladislav Hagara | Komentářů: 16
    3.10. 22:44 | IT novinky

    V únoru loňského roku Úřad pro ochranu osobních údajů pravomocně uložil společnosti Avast Software pokutu 351 mil. Kč za porušení GDPR. Městský soud v Praze tuto pokutu na úterním jednání zrušil. Potvrdil ale, že společnost Avast porušila zákon, když skrze svůj zdarma dostupný antivirový program sledovala, které weby jeho uživatelé navštěvují, a tyto informace předávala dceřiné společnosti Jumpshot. Úřad pro ochranu osobních údajů

    … více »
    Ladislav Hagara | Komentářů: 11
    Jaké řešení používáte k vývoji / práci?
     (38%)
     (45%)
     (15%)
     (17%)
     (22%)
     (15%)
     (18%)
     (16%)
     (15%)
    Celkem 181 hlasů
     Komentářů: 12, poslední 4.10. 20:35
    Rozcestník

    Dotaz: Bash - zobazení hodnoty proměnné, která byla předána v jiné proměnné

    7.4.2016 13:36 Belpir
    Bash - zobazení hodnoty proměnné, která byla předána v jiné proměnné
    Přečteno: 728×
    Zdravím, lze v bashi zobrazit obsah proměnné, jejíž název byl předán jako hodnota proměnné, viz např:
    #! /bin/bash
    var1=var2
    var2=vysledek
    
    #nyní potřebuji vypsat hodnotu "vysledek", voláním proměnné var2, jako návratové hodnoty volání var1 zkoušel jsem:
    #toto vrací PID aktuálního procesu (proměnná $$) zřetězený s názvem předané proměnné:
    echo $$var1
    $ 25760var1
    
    #toto sice vrací $var2 , ale nevypíše to její hodnotu, pouze vytiskne její název:
    echo $`echo $var1`
    $ $var2
    

    Jak tedy tímto způsobem vypsat obsah proměnné var2? Hledám způsob jak vyhledat ve skriptu, jestli existuje název proměnné, který byl zadán jako argument skriptu $1, pokud existuje, zavolej jí a vrať její hodnotu. V jiném jazyce bych použil slovník/asociativní pole, ale syntaxe tohoto datového typu je v bashi hrozně pitomá.

    Děkuji

    Řešení dotazu:


    Odpovědi

    7.4.2016 14:08 blondak | skóre: 36 | blog: Blondak | Čáslav
    Rozbalit Rozbalit vše Re: Bash - zobazení hodnoty proměnné, která byla předána v jiné proměnné
    #!/bin/bash
    var1=var2
    var2=vysledek
    
    eval echo "\$${var1}"
    
    , ale asi to ani moc nedoporučuju
    Každý problém ma své logické, snadno pochopitelné nesprávné řešení.
    7.4.2016 14:19 NN
    Rozbalit Rozbalit vše Re: Bash - zobazení hodnoty proměnné, která byla předána v jiné proměnné
    eval echo $`echo $var1`
    Ale doporucovcal bych se eval vyhnout obloukem.
    7.4.2016 23:13 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Bash - zobazení hodnoty proměnné, která byla předána v jiné proměnné
    Ale doporucovcal bych se eval vyhnout obloukem.

    Souhlasím. Moje zkušenost je, že pokud člověk zjistí, že něco není schopen v bashi udělat bez eval, je to znamení, že pro danou úlohu vůbec neměl použít bash.

    Řešení 2× (mimi.vx, Michal Kubeček)
    7.4.2016 23:08 Ondřej Kubečka | skóre: 29 | blog: datlovo | Ulm
    Rozbalit Rozbalit vše Re: Bash - zobazení hodnoty proměnné, která byla předána v jiné proměnné
    V bashi je to snadné, ten umí nepřímé odkazy:
    $ var1=var2
    $ var2=vysledek
    $ echo ${!var1}
    vysledek
    
    14.4.2016 13:14 Belpir
    Rozbalit Rozbalit vše Re: Bash - zobazení hodnoty proměnné, která byla předána v jiné proměnné
    Velice děkuji, funguje, eval se vyhnu.

    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.