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 15:22 | Nová verze

    Byla vydána nová verze 18 integrovaného vývojového prostředí (IDE) Qt Creator. S podporou Development Containers. Podrobný přehled novinek v changelogu.

    Ladislav Hagara | Komentářů: 0
    dnes 12:55 | Nová verze

    Cursor (Wikipedie) od společnosti Anysphere byl vydán ve verzi 2.0. Jedná se o multiplatformní proprietární editor kódů s podporou AI (vibe coding).

    Ladislav Hagara | Komentářů: 1
    dnes 02:55 | Nová verze

    Google Chrome 142 byl prohlášen za stabilní. Nejnovější stabilní verze 142.0.7444.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 20 bezpečnostních chyb. Za nejvážnější z nich bylo vyplaceno 50 000 dolarů. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    dnes 01:22 | IT novinky Ladislav Hagara | Komentářů: 0
    včera 17:00 | Upozornění

    Národní identitní autorita, tedy NIA ID, MeG a eOP jsou nedostupné. Na nápravě se pracuje [𝕏].

    Ladislav Hagara | Komentářů: 8
    včera 16:44 | IT novinky

    Americký výrobce čipů Nvidia se stal první firmou na světě, jejíž tržní hodnota dosáhla pěti bilionů USD (104,5 bilionu Kč). Nvidia stojí v čele světového trhu s čipy pro umělou inteligenci (AI) a výrazně těží z prudkého růstu zájmu o tuto technologii. Nvidia již byla první firmou, která překonala hranici čtyř bilionů USD, a to letos v červenci.

    Ladislav Hagara | Komentářů: 6
    včera 14:11 | Komunita

    Po Canonicalu a SUSE oznámil také Red Hat, že bude podporovat a distribuovat toolkit NVIDIA CUDA (Wikipedie).

    Ladislav Hagara | Komentářů: 2
    včera 13:55 | Nová verze

    TrueNAS (Wikipedie), tj. open source storage platforma postavená na Linuxu, byl vydán ve verzi 25.10 Goldeye. Přináší NVMe over Fabric (NVMe-oF) nebo OpenZFS 2.3.4.

    Ladislav Hagara | Komentářů: 0
    včera 13:33 | Nová verze

    Byla vydána OpenIndiana 2025.10. Unixový operační systém OpenIndiana (Wikipedie) vychází z OpenSolarisu (Wikipedie).

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

    České základní a střední školy čelí alarmujícímu stavu kybernetické bezpečnosti. Až 89 % identifikovaných zranitelností v IT infrastruktuře vzdělávacích institucí dosahuje kritické úrovně, což znamená, že útočníci mohou vzdáleně převzít kontrolu nad klíčovými systémy. Školy navíc často provozují zastaralé technologie, i roky nechávají zařízení bez potřebných aktualizací softwaru a používají k nim pouze výchozí, všeobecně známá

    … více »
    Ladislav Hagara | Komentářů: 16
    Jaké řešení používáte k vývoji / práci?
     (36%)
     (48%)
     (19%)
     (19%)
     (23%)
     (17%)
     (21%)
     (17%)
     (17%)
    Celkem 284 hlasů
     Komentářů: 14, poslední 14.10. 09:04
    Rozcestník

    Dotaz: Nefunguje for loop v bourne shell

    27.5.2016 20:22 majales | skóre: 30 | blog: Majales
    Nefunguje for loop v bourne shell
    Přečteno: 397×
    Zdravím, Mám problém s jedním skriptem kterým klonuju VM na ESXi. Nefunguje tam správně for smyčka, pokud má stroj více než jeden disk.
    VM_VMDK_DESCRS=$(ls "$OLDVMSTORE/$OLDVM" | grep ".vmdk" | grep -v "\-flat.vmdk")
    for VMDK in "${VM_VMDK_DESCRS}"
    do
      echo "Cloning VMDK : $VMDK"
      NEWVMDK=$(echo ${VMDK##*/} | sed "s/$OLDVM/$NEWVM/")
      vmkfstools -i "$OLDVMSTORE/$OLDVM/$VMDK" "$NEWVMSTORE/$NEWVM/$NEWVMDK" -d thin
      echo
    
    skript selže protože v té smyčce se mu objeví oba ty nalezené disky
    ls /vmfs/volumes/datastore1/DSMON01 |grep ".vmdk" | gr
    ep -v "\-flat.vmdk" | hexdump -C
    00000000  44 53 4d 4f 4e 30 31 2e  76 6d 64 6b 0a 44 53 4d  |DSMON01.vmdk.DSM|
    00000010  4f 4e 30 31 5f 31 2e 76  6d 64 6b 0a              |ON01_1.vmdk.|
    
    Přičemž separátor je tady 0a což by měl být linefeed.

    Nevíte jak upravit ten for aby to začalo chodit? Zkoušel jsem přidat IFS=$'\n' ale nepomohlo to. Díky za každou radu.

    Řešení dotazu:


    Odpovědi

    27.5.2016 21:46 NN
    Rozbalit Rozbalit vše Re: Nefunguje for loop v bourne shell
    Tipnu, ze problem bude tady:
    sed "s/$OLDVM/$NEWVM/"
    Protoze, nahradis dvakrat to same..
    28.5.2016 00:47 Ondřej Kubečka | skóre: 29 | blog: datlovo | Ulm
    Rozbalit Rozbalit vše Re: Nefunguje for loop v bourne shell
    Řeším pouze smyčku:

    for i in "abc def"; do echo $i; done proběhne jednou a vypíše řetězec: abc def

    for i in abc def; do echo $i; done proběhne dvakrát a vypíše řetězce: abc a def

    Když tak ale koukám na to řetězení ls a 2x grep. Tak spíše něco jako... for vdmk in "${OLDVMSTORE}/${OLDVM}"/*.vdmk*; do ...; done. Ve smyčce můžete vyřídit případný -flat.vdmk (pokud substring, pak continue).

    A ještě poznámka: ls | grep .vdmk není ls *.vdmk* (což jste asi chtěl), ale ls *?vdmk* (což je spíše omyl?).
    Řešení 1× (jose17)
    28.5.2016 08:48 majales | skóre: 30 | blog: Majales
    Rozbalit Rozbalit vše Re: Nefunguje for loop v bourne shell
    Nakonec jsem to upravil takto:
    VM_VMDK_DESCRS=$(ls "$OLDVMSTORE/$OLDVM" | grep ".vmdk" | grep -v "\-flat.vmdk")
    for VMDK in ${VM_VMDK_DESCRS//\\n/ }
    do
      echo "Cloning VMDK : $VMDK"
      #echo "MEZERA"
      NEWVMDK=$(echo ${VMDK##*/} | sed "s/$OLDVM/$NEWVM/")
      vmkfstools -i "$OLDVMSTORE/$OLDVM/$VMDK" "$NEWVMSTORE/$NEWVM/$NEWVMDK" -d thin
      echo
    done
    Funguje to. Díky všem.
    30.5.2016 20:33 Ondřej Kubečka | skóre: 29 | blog: datlovo | Ulm
    Rozbalit Rozbalit vše Re: Nefunguje for loop v bourne shell
    Možná jsem to nevysvětlil dost jasně, ale tohle nezačalo "fungovat", protože je tam ta náhrada vzorce (${VM_VMDK_DESCRS//\\n/ }), která na to nemá vliv, ale protože kolem ${VM_VMDK_DESCRS} (s náhradou nebo bez) už nejsou uvozovky.
    k3dAR avatar 30.5.2016 21:35 k3dAR | skóre: 63
    Rozbalit Rozbalit vše Re: Nefunguje for loop v bourne shell
    ja ti pomuzu :)
    # tahle smycka pojede 3x protoze jde o 3 nezavisle vstupy
    for neco in jedna dva tri; do
    
    # tahle smycka pojede 1x protoze jde o 1 souvislej vstup
    for neco in "jedna dva tri"; do
    
    a je jedno jestli jde o vypsane vstupy primo ve smycce, nebo jde o promenou ktera je obsahuje
    porad nemam telo, ale uz mam hlavu... nobody

    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.