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:22 | Humor

    Jihokorejská Národní daňová služba (NTS) zabavila kryptoměnu Pre-retogeum (PRTG) v hodnotě 5,6 milionu dolarů. Pochlubila se v tiskové zprávě, do které vložila fotografii zabavených USB flash disků s kryptoměnovými peněženkami spolu se souvisejícími ručně napsanými mnemotechnickými obnovovacími frázemi. Krátce na to byla kryptoměna v hodnotě 4,8 milionu dolarů odcizena. O několik hodin ale vrácena, jelikož PRTG je extrémně nelikvidní, s denním objemem obchodování kolem 332 dolarů a zalistováním na jediné burze, MEXC [Bitcoin.com].

    Ladislav Hagara | Komentářů: 3
    včera 16:33 | Nová verze

    Komunita kolem Linuxu From Scratch (LFS) vydala nové verze knih s návody na instalaci vlastního linuxového systému ze zdrojových kódů Linux From Scratch 13.0 a Beyond Linux From Scratch 13.0. Pouze se systemd.

    Ladislav Hagara | Komentářů: 1
    včera 16:00 | Nová verze

    Byla vydána nová stabilní major verze 25.12 linuxové distribuce primárně určené pro routery a vestavěné systémy OpenWrt (Wikipedie). Jedná se o nástupce předchozí major verze 24.10. Přehled novinek v poznámkách k vydání. Podporováno je více než 2200 zařízení.

    Ladislav Hagara | Komentářů: 0
    včera 04:44 | Komunita

    Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za únor (YouTube). Odstraněn byl veškerý kód napsaný ve Swiftu. JavaScriptový engine LibJS byl reimplementován v Rustu.

    Ladislav Hagara | Komentářů: 0
    5.3. 21:11 | Nová verze

    Byla vydána verze 1.94.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example. Zveřejněny byly výsledky průzkumu mezi vývojáři v programovacím jazyce Rust: 2025 State of Rust Survey Results.

    Ladislav Hagara | Komentářů: 7
    5.3. 17:33 | Komunita

    Google zveřejnil seznam 185 organizací přijatých do letošního Google Summer of Code (GSoC). Dle plánu se zájemci přihlašují od 16. do 31. března. Vydělat si mohou od 750 do 6600 dolarů. V Česku a na Slovensku je to 900 dolarů za malý, 1800 dolarů za střední a 3600 dolarů za velký projekt. Další informace v často kladených otázkách (FAQ). K dispozici jsou také statistiky z minulých let.

    Ladislav Hagara | Komentářů: 0
    4.3. 22:55 | Nová verze

    Byla vydána únorová aktualizace aneb nová verze 1.110 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.110 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 8
    4.3. 18:11 | IT novinky

    Apple představil 13palcový MacBook Neo s čipem A18 Pro. V základní konfiguraci za 16 990 Kč.

    Ladislav Hagara | Komentářů: 56
    4.3. 12:22 | Komunita

    Kalifornský zákon AB 1043 platný od 1. ledna 2027 vyžaduje, aby operační systémy požadovaly po uživatelích věk nebo datum narození a skrze API poskytovaly aplikacím informaci, zda je uživatel mladší 13 let, má 13 až 16 let, má 16 až 18 let nebo má alespoň 18 let. Vývojáři linuxových distribucí řeší, co s tím (Ubuntu, Fedora, …).

    Ladislav Hagara | Komentářů: 104
    4.3. 11:44 | Pozvánky

    Konference LinuxDays 2026 proběhne o víkendu 3. a 4. října v Praze v areálu ČVUT v Dejvicích na FIT. Čekají vás desítky přednášek, workshopy, stánky a setkání se spoustou chytrých lidí.

    Petr Krčmář | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (17%)
     (7%)
     (0%)
     (11%)
     (28%)
     (2%)
     (5%)
     (2%)
     (13%)
     (25%)
    Celkem 1026 hlasů
     Komentářů: 25, poslední 3.2. 19:50
    Rozcestník

    Dotaz: Bash: Nahrazení $P obsahem proměnný uvnitř for cyklu

    David Watzke avatar 28.12.2005 00:51 David Watzke | skóre: 74 | blog: Blog... | Praha
    Bash: Nahrazení $P obsahem proměnný uvnitř for cyklu
    Přečteno: 249×

    Ahoj. Doufám, že jsem napsal výstižně titulek. :) Hodím jsem jen nejpodstatnější info ohledně skriptu, kterej píšu a na závěr řeknu problém.

    FIX=`echo hal \ # jmeno-baliku je $1, ale to jen aby bylo jasno, dal jsem příklad balík hal
    | sed -e 's/=//g' \
          -e 's/\[[[digit:]].*\]//' \
          -e 's/-[[:digit:]].*$//'`
    
    CP=`emerge -p --nodeps $FIX \
    | grep 'ebuild ' \
    | tail -n 2 \
    | head -n 1 \
    | sed -e 's/\[ebuild.......\]\ //' \
          -e 's/ //g'`
    
    CPN=`echo $CP \
    | sed -e 's/\[[[digit:]].*\]//' \
          -e 's/-[[:digit:]].*$//'`
    
    PN=`echo $CPN | cut -d/ -f2`
    GP="http://gentoo-portage.com"
    wget -qc $GP/$CPN
    HTTP="$GP`sed -n 's/.*href="\([^"]\+\).*/\1/gp' $PN | grep ebuild | head -n 1`"
    P=`echo $HTTP | sed 's/%2F/\//g' | cut -d/ -f6`
    EBUILD="/usr/portage/$CPN/$P"
    rm -f $PN 2> /dev/null
    
    if [ "`grep epatch echoBUILD`" != "" ]
     then
    # a taky přichází problém
      for F in `grep epatch echoBUILD | sed -n 's/.*"\([^"]\+\).*/\1/gp' | sed 's/${FILESDIR}//g'`
      do
       PATCH="/usr/portage/$CPN/files${F}"
       echo $PATCH
       # další, zatím nepodstatný příkazy
      done
    fi
    
    Díky tomu to na mě vysype
    /usr/portage/sys-apps/hal/files/${P}-RBC.patch
    /usr/portage/sys-apps/hal/files/${PN}-0.5.1-old_storage_policy.patch
    
    Jenže já tam ty proměnný uvedený mám a on je nevymění! Až když debuguju po jednom řádku v terminálu, tak zjistím, že když pak ještě řeknu:
    echo /usr/portage/sys-apps/hal/files/${P}-RBC.patch
    echo /usr/portage/sys-apps/hal/files/${PN}-0.5.1-old_storage_policy.patch
    
    tak to vymění správně, ale jakmile to zapíšu do skriptu, zase to samý. :-( Achjo. Nevíte co s tím?

    PS: Pokud vás zajímá, co je zač ten skript, vydržte, protože když s ním nebudou další problémy budu o něm informovat v blogu.

    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon

    Odpovědi

    28.12.2005 01:46 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Bash: Nahrazení $P obsahem proměnný uvnitř for cyklu
    Nebyla by ukázka, jak vlastně vypadá ten soubor echoBUILD? Ne každý zná Gentoo tak detailně, aby si to dokázal z hlavy představit.

    Jinak místo

      if [ "`grep epatch echoBUILD`" != "" ]; then
    
    je jednodušší (a efektivnější)
      if grep -q epatch echoBUILD; then
    
    David Watzke avatar 28.12.2005 01:48 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Bash: Nahrazení $P obsahem proměnný uvnitř for cyklu
    Já jsem... to zrovna chtěl napsat. Než jsem to poslal, nahrazoval jsem trochu. Má to být $EBUILD. :-( Takže to je ebuild.
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    David Watzke avatar 28.12.2005 01:50 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Bash: Nahrazení $P obsahem proměnný uvnitř for cyklu
    Ten si mimochodem můžeš nechat zobrazit na gentoo-portage.com. Namátkou třeba takovej...
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    28.12.2005 02:25 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Bash: Nahrazení $P obsahem proměnný uvnitř for cyklu
    No tak to je celkem jasné. Výsledkem expanze proměnné F je sice něco, co sice obsahuje znaky '$', ale ty už se samozřejmě znovu neexpandují, jinak byste mohl shell triviálně poslat do nekonečné smyčky a nebylo by možné jako výsledek expanze dostat nic, co obsahuje '$'. Napadají mne tři možnosti:
    1. použít eval
    2. výsledek toho sedu doplnit o přiřazení a includovat
    3. nechat si ty proměnné nahradit rovnou tím sedem
    Pokud jsou tam vždy jen P a PN, přikláněl bych se ke třetí variantě. První dvě jsou tak trochu "o hubu".
    David Watzke avatar 28.12.2005 02:39 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Bash: Nahrazení $P obsahem proměnný uvnitř for cyklu
    Jsou ty vždy jen P a PN. Jenže je tu problém. Jak to nahradím sedem, když $P a $PN jsou zase jen proměnný? :(
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    28.12.2005 03:16 Dunric | skóre: 21
    Rozbalit Rozbalit vše Re: Bash: Nahrazení $P obsahem proměnný uvnitř for cyklu
    Např. takto ?
    ... | sed "s/\${P}/${P}/g"
    
    In the garden sleeps a messenger ·
    David Watzke avatar 28.12.2005 03:30 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Bash: Nahrazení $P obsahem proměnný uvnitř for cyklu
    Funguje, dík.
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    David Watzke avatar 28.12.2005 01:52 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Bash: Nahrazení $P obsahem proměnný uvnitř for cyklu
    Možná bude vhodnější, když vám ukážu celý soubor. Tady je.
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon

    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.