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ářů: 9
    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%)
     (22%)
     (17%)
     (21%)
     (16%)
     (17%)
    Celkem 286 hlasů
     Komentářů: 14, poslední 14.10. 09:04
    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: 456×

    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á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.