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 03:44 | IT novinky

    Společnost Fairphone stojící za stejnojmennými mobilními telefony představila (pdf) bezdrátová špuntová sluchátka Fairbuds 2. Opravitelná, s vyměnitelnými bateriemi a tříletou zárukou. Cena 119 eur.

    Ladislav Hagara | Komentářů: 0
    dnes 03:33 | Pozvánky

    O víkendu 17. a 18. října lze na brněnském výstavišti navštívit s jednou vstupenkou dvě akce: Maker Faire Brno, festival inovací, kreativity a kutilství, a GameDev Connect, akci určenou pro všechny současné a hlavně budoucí herní vývojáře.

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

    Canonical vydal (email) Ubuntu 26.10 Stonking Stingray. Přehled novinek v poznámkách k vydání. Jedná se o průběžné vydání s podporou 9 měsíců, tj. do července 2027.

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

    České Radiokomunikace (CRA) ve čtvrtek odstřelily rozhlasový vysílač Liblice B, dosud nejvyšší stavbu v Česku. O demolici dvou 355 metrů vysokých stožárů rozhodly z důvodu jejich nevyužívání, už v úterý přitom zhasly a demontovaly jejich osvětlení.

    Ladislav Hagara | Komentářů: 11
    včera 02:44 | IT novinky

    Microsoft Defender nově podporuje linuxové desktopy.

    Ladislav Hagara | Komentářů: 6
    14.10. 21:00 | Komunita

    Oficiální Epic Games Launcher je v nové preview verzi poprvé dostupný i pro Linux (FAQ). Pracuje se na novém Easy Anti-Cheatu pro Linux (EAC Linux v2) a podpoře hry Fortnite na Linuxu.

    Ladislav Hagara | Komentářů: 6
    14.10. 13:44 | Nová verze

    Desktopové prostředí KDE Plasma bylo vydáno ve verzi 6.8. Novinky zahrnují lepší podporu vzdálené plochy, sdílení a nahrávání obrazovky a řadu drobností napříč uživatelským rozhraním (úplný seznam změn, shrnutí ve wiki).

    ʚĭɞ 🍉 | Komentářů: 32
    14.10. 10:55 | IT novinky

    Apple představil 7palcový displej Apple HomeView s podporou Apple Intelligence a Siri AI pro ovládání chytré domácnosti, novou řadu vybavení chytré domácnosti Apple Home Collection, další generaci HomePodu mini a novou Apple TV 4K. Apple HomeView není v Evropské unii v prodeji, jelikož umělá inteligence Siri v rámci systému iOS v EU momentálně není k dispozici. Apple spolupracuje s EU a snaží se najít cestu, jak situaci vyřešit.

    Ladislav Hagara | Komentářů: 6
    14.10. 03:55 | Komunita

    KDE slaví 30 let. Přesně před 30 lety, 14. října 1996, poslal Matthias Ettrich do diskusní skupiny comp.os.linux.misc zprávu, která započala historii projektu KDE. Důležité milníky jsou zobrazeny na časové ose.

    Ladislav Hagara | Komentářů: 3
    14.10. 03:22 | Nová verze

    Byl vydán Mozilla Firefox 158.0. Stejně jako Chrome 155 s podporou JPEG XL (test). Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 158 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (29%)
     (8%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2849 hlasů
     Komentářů: 32, poslední 11.10. 17:02
    Rozcestník

    Dotaz: FOR proč nefunguje (kde je chyba)

    pepe_ avatar 9.9.2012 16:18 pepe_ | skóre: 48
    FOR proč nefunguje (kde je chyba)
    Přečteno: 767×

    Ahojky , potřebuji vysvětlit FOR :

     

    a="Zkouska psani textu" ; b=(${#a}) ; for i in {1..b} ; do sleep .02 ; echo -en "${a:i-1:1}" ; done ; echo -en "\n"

    Tnefunguje s chybou :  bash: a: {1..b}: syntaktická chyba: očekáván operand (chybný token je „{1..b}“)

     

    Funguje jen

    a="Zkouska psani textu" ; b=(${#a}) ; for i in $(seq $b) ; do sleep .02 ; echo -en "${a:i-1:1}" ; done ; echo -en "\n"

     

    Jak zadat do FORu        for i in {1..b}  aby to fungoval jak má ?

     

    Děkuji.


    Řešení dotazu:


    Odpovědi

    pepe_ avatar 9.9.2012 16:30 pepe_ | skóre: 48
    Rozbalit Rozbalit vše Re: FOR proč nefunguje (kde je chyba)

    Řešení ikdyž podivné

     

    a="Zkouska psani textu" ; b=(${#a}) ; for (( i=1 ; $i-$b-1 ; i=$i+1 )) ; do sleep .02 ; echo -en "${a:i-1:1}" ; done ; echo -en "\n"

    pepe_ avatar 9.9.2012 16:39 pepe_ | skóre: 48
    Rozbalit Rozbalit vše Re: FOR proč nefunguje (kde je chyba)

    Jak to upravit pro /BIN/SH  respektive /bin/sh  ?

    9.9.2012 18:28 Patrik Uhrak | skóre: 31 | blog: pato
    Rozbalit Rozbalit vše Re: FOR proč nefunguje (kde je chyba)
    #!/bin/sh
    
    a="Zkouska psani textu"
    b=`expr length "$a"`
    
    for i in `seq 1 $b`
    do
    sleep .02
    part=`expr substr "$a" "$i" 1`
    echo -n "$part"
    done
    
    echo
    pepe_ avatar 9.9.2012 19:34 pepe_ | skóre: 48
    Rozbalit Rozbalit vše Re: FOR proč nefunguje (kde je chyba)

    To je sice hezké ale    když neobsahuje  seq  ani expr ?

    9.9.2012 19:56 l4m4
    Rozbalit Rozbalit vše Re: FOR proč nefunguje (kde je chyba)
    seq je GNU, ale expr je POSIX.1, tudíž neobsahuje-li systém expr, není to plnohodnotný unixový systém a je zapotřebí prozkoumat a popsat možnosti, co vlastně k disposici je. Bez toho se nedá radit, protože POSIX je dost základní předpoklad, který každý normálně činí implicitně...
    9.9.2012 22:52 Patrik Uhrak | skóre: 31 | blog: pato
    Rozbalit Rozbalit vše Re: FOR proč nefunguje (kde je chyba)
    #!/bin/sh
      
    a="Zkouska psani textu"
    b=`expr length "$a"`
    i=1
     
    while [ $i -le $b ]
    do
    sleep .02
    part=`expr substr "$a" "$i" 1`
    echo -n "$part"
    i=$((i+1))
    done
      
    echo
    

    Je to bez pouzitia seq , ale ako odstranit resp. cim nahradit expr , tak to teda nemam sajn. Takze, co povedal l4m4, tak to plati. Bez znalosti dostupnosti sady nastrojov je tazko cokolvek spravit. A osobne som ani netusil, ze expr moze byt nedostupny. Urcite to nesposobovala nedostupnost seq ?

    pepe_ avatar 10.9.2012 19:18 pepe_ | skóre: 48
    Rozbalit Rozbalit vše Re: FOR proč nefunguje (kde je chyba)

    Máš pravdu , EXPR má i router .

     

    /bin:
    boot.sh             convert_forward.sh  df                  gzip                login               mv                  sleep
    busybox             convert_mac.sh      disconnect.sh       hostname            ls                  netstat             tar
    cat                 convert_tf.sh       dmesg               ip                  mkdir               ping                true
    chmod               cp                  echo                kill                more                ps                  umount
    chown               date                false               lash                mount               rm                  uname
    connect.sh          dd                  grep                ln                  msh                 sh                  vi
    
    /sbin:
    approconfig  auth         calc         ifconfig     init         iwcontrol    iwpriv       reboot       syslogd      tcpdump      vnstat
    arp          brctl        flash        ifstat       iptables     iwlist       klogd        route        tc           udhcpc       watchdog
    
    /usr/bin:
    [           clear       cut         expr        ftpget      killall     nslookup    reset       test        tr          uptime
    arping      crontab     dumpleases  free        ftpput      logger      renice      telnet      top         traceroute  wc
    
    /usr/sbin:
    crond          dnsmasq        dropbearkey    ftpd           inetd          pppoe-relay    telnetd        udhcpd
    dhcrelay       dropbear       dropbearmulti  httpd          pppd           rdate          tinysnmpd

    a to se dá považovat za minimalistický linux. Takže vyřešeno i SH. Děkuji.

    9.9.2012 19:04 Patrik Uhrak | skóre: 31 | blog: pato
    Rozbalit Rozbalit vše Re: FOR proč nefunguje (kde je chyba)
    #!/bin/bash
    
    
    a="Zkouska psani textu"
    #b=(${#a})
    b=${#a}
    
    # $i-$ib-1 ??? nijako neovplyvni chod
    # for (( i=1 ; $i-$b-1 ; i=$i+1 ))
    for (( i=0; i<$b; i++ ))
    do 
    	sleep .02
    	# parameter -e pre echo nema zmysel v tomto prikaze
    	# i-1 ??? tak preco nezacnes for cyklus s i=0 ?
    	#echo -en "${a:i-1:1}"
    	echo -n "${a:$i:1}"
    done
    
    # na jednej strane zakazes odsadenie na novy riadok a na druhej
    # strane povolis interpretaciu spatneho lomitka a zadas znak
    # pre novy riadok, aby sa spracoval
    # Nedava to moc logiku. :)
    #echo -en "\n"
    echo

    Som si dovolil opravit tvoje, bo neviem, ale bolo to prinajlepsom "zvlastne". :)

    pepe_ avatar 9.9.2012 19:32 pepe_ | skóre: 48
    Rozbalit Rozbalit vše Re: FOR proč nefunguje (kde je chyba)

    a="Zkouska psani textu" ; b=${#a} ; for (( i=0; i<$b; i++ )) ; do sleep .02 ; echo -n "${a:$i:1}" ; done ; echo -en "\r"

     

    To tvoje je hezčí (děkuju).

    9.9.2012 16:33 lertimir | skóre: 64 | blog: Par_slov
    Rozbalit Rozbalit vše Re: FOR proč nefunguje (kde je chyba)
    Tedy v bashi moc nepíšu, ale mám dojem, že syntax je for x in "word list" tedy, že množina čísel se do in musí převést na seznam slov.
    9.9.2012 17:18 l4m4
    Rozbalit Rozbalit vše Re: FOR proč nefunguje (kde je chyba)
    Žádná množnina čísel v bashi neexistuje, akorát konstrukce, kterou expanduje na seznam čísel (slov, chceš-li).

    Založit nové vlákno • Nahoru

    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.