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 16:11 | IT novinky

    Český telekomunikační úřad zveřejnil Výroční zprávu za rok 2025 (pdf), která shrnuje jeho hlavní aktivity v oblasti regulace elektronických komunikací, poštovních služeb, digitálních služeb a přípravy na dohled nad umělou inteligencí. Součástí zprávy jsou také data o vývoji trhu, včetně pokračujícího růstu spotřeby mobilních dat a rozšiřování sítí nové generace. Celkový objem přenesených mobilních dat dosáhl v roce 2025 přibližně

    … více »
    Ladislav Hagara | Komentářů: 0
    dnes 16:00 | Nová verze

    Tým sdružení CZ.NIC vyvíjející routovacího daemona BIRD oznámil vydání nových verzí 3.3.0 a 2.19.0. Ty přinášejí podporu pro EVPN/VXLAN a automatizaci BGP na základě router advertisementů. Více informací je k dispozici v archivu uživatelského mailing-listu.

    VSladek | Komentářů: 0
    včera 04:33 | Nová verze

    Open source software pro úpravu digitálních fotografií LightZone (Wikipedie) byl vydán v nové verzi 5.0.0. LightZone je dnes k dispozici pod licencí BSD. Původně se jednalo o proprietární software vyvíjený společností Light Crafts. Ta v prosinci 2012 souhlasila s uvolněním zdrojových kódů jako open source [Wayback Machine].

    Ladislav Hagara | Komentářů: 0
    23.5. 17:22 | Nová verze

    Byla vydána verze 0.84 telnet a ssh klienta PuTTY (Wikipedie). Podrobnosti v přehledu nových vlastností a oprav chyb a Change Logu.

    Ladislav Hagara | Komentářů: 2
    22.5. 19:44 | IT novinky

    Microsoft představil Azure Linux 4.0 a Azure Container Linux. Na konferenci Open Source Summit North America 2026 organizované konsorciem Linux Foundation a sponzorované také Microsoftem. Azure Linux 4.0 vychází z Fedora Linuxu. Azure Container Linux je založen na projektu Flatcar. Azure Linux (GitHub, Wikipedie) byl původně znám jako CBL-Mariner.

    Ladislav Hagara | Komentářů: 0
    22.5. 12:22 | Zajímavý článek

    Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 165 (pdf).

    Ladislav Hagara | Komentářů: 0
    22.5. 10:55 | Nová verze

    Byla vydána verze 9.2 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a informačním videu.

    Ladislav Hagara | Komentářů: 7
    22.5. 09:33 | IT novinky

    Firefox 151 podporuje Web Serial API. Pro komunikaci s různými mikrokontroléry připojenými přes USB nebo sériové porty už není nutné spouštět Chrome nebo na Chromiu postavené webové prohlížeče.

    Ladislav Hagara | Komentářů: 11
    22.5. 04:44 | Nová verze

    Byla vydána nová stabilní verze 8.0 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 148. Přehled novinek i s náhledy v příspěvku na blogu.

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

    Ve FreeBSD byla nalezena a opravena zranitelnost FatGid aneb CVE-2026-45250. Jedná se o lokální eskalaci práv. Neprivilegovaný uživatel se může stát rootem.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (12%)
     (8%)
     (2%)
     (14%)
     (31%)
     (4%)
     (7%)
     (3%)
     (16%)
     (26%)
    Celkem 1706 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    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: 505×

    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.