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

V Norimberku probíhá do neděle 28. května openSUSE Conference 2017. Na programu je celá řada zajímavých přednášek. Sledovat je lze online. K dispozici jsou také videozáznamy (YouTube) již proběhnuvších přednášek. Dění lze sledovat na Twitteru.

Ladislav Hagara | Komentářů: 0
dnes 11:33 | IT novinky

Red Hat kupuje společnost Codenvy stojící za stejnojmenným webovým (cloudovým) integrovaným vývojovým prostředím (WIDE) postaveném na Eclipse Che.

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

V listopadu 2014 byl představen fork Debianu bez systemd pojmenovaný Devuan. Po dva a půl roce jeho vývojáři oznámili vydání první stabilní verze 1.0. Jedná se o verzi s dlouhodobou podporou (LTS) a její kódové jméno je Jessie, podle planetky s katalogovým číslem 10 464.

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

Nadace Raspberry Pi vydala již osmapadesáté číslo (pdf) stostránkového anglicky psaného časopisu MagPi věnovanému Raspberry Pi a projektům postaveným na tomto jednodeskovém počítači a druhé číslo (pdf) časopisu Hello World primárně určeného pro učitele informatiky a výpočetní techniky.

Ladislav Hagara | Komentářů: 0
včera 19:55 | Humor

Portál Stack Overflow informuje na svém blogu, že pomohl ukončit editor Vim už více než milionu vývojářů. V loňském roce například hledal odpověď na otázku Jak ukončit editor Vim v průměru 1 z 20 000 návštěvníků.

Ladislav Hagara | Komentářů: 10
včera 19:22 | Nová verze

Po pěti měsících od vydání verze 3.5.0 byla vydána nová stabilní verze 3.6.0, tj. první z nové řady 3.6, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie). Z novinek lze zmínit například podporu dvou nových 64bitových platforem little-endian POWER machines (ppc64le) a IBM z Systems (s390x) nebo nové balíčky Rust 1.17.0, Cargo 0.18.0, GHC 8.0.2 a Julia 0.5.2.

Ladislav Hagara | Komentářů: 0
24.5. 21:33 | Bezpečnostní upozornění

V Sambě byla nalezena a opravena bezpečnostní chyba CVE-2017-7494. Má-li útočník právo ukládat soubory na vzdálený server, může tam uložit připravenou sdílenou knihovnu a přinutit smbd server k jejímu načtení a tím pádem ke spuštění libovolných příkazů. Chyba je opravena v upstream verzích 4.6.4, 4.5.10 a 4.4.14. Chyba se týká všech verzí Samby od verze 3.5.0 vydané 1. března 2010.

Ladislav Hagara | Komentářů: 7
24.5. 20:44 | Nová verze

Byla vydána nová stabilní verze 4.3.0 integrovaného vývojového prostředí (IDE) Qt Creator. Z novinek lze zmínit například integraci editoru kódu do Qt Quick Designeru.

Ladislav Hagara | Komentářů: 1
24.5. 20:11 | Bezpečnostní upozornění

Společnost Check Point informuje na svém blogu o novém vektoru útoku. Pomocí titulků lze útočit na multimediální přehrávače VLC, Kodi, Popcorn Time, Stremio a pravděpodobně i další. Otevření útočníkem připraveného souboru s titulky v neaktualizovaném multimediálním přehrávači může vést ke spuštění libovolných příkazů pod právy uživatele. Ukázka na YouTube. Chyba je opravena v Kodi 17.2 nebo ve VLC 2.2.6.

Ladislav Hagara | Komentářů: 11
23.5. 15:18 | Zajímavý software

CrossOver, komerční produkt založený na Wine, je dnes (23. 5. 2017) dostupný ve slevě. Roční předplatné linuxové verze vyjde s kódem TWENTYONE na $21, resp. $1 v případě IP z chudších zemí. Firma CodeWeavers, která CrossOver vyvíjí, významně přispívá do Wine. Přidaná hodnota CrossOver spočívá v přívětivějším uživatelském rozhraní, integraci do desktopu a podpoře.

Fluttershy, yay! | Komentářů: 26
Chystáte se pořídit CPU AMD Ryzen?
 (6%)
 (32%)
 (1%)
 (8%)
 (44%)
 (9%)
Celkem 621 hlasů
 Komentářů: 62, poslední 19.5. 01:57
    Rozcestník

    Dotaz: Nefunguje for loop v bourne shell

    27.5.2016 20:22 majales | skóre: 20 | blog: Majales
    Nefunguje for loop v bourne shell
    Přečteno: 322×
    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: 20 | 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: 44
    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.