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 11:44 | Nová verze

    Byla vydána nová verze 25.05.11 svobodného multiplatformního video editoru Shotcut (Wikipedie) postaveného nad multimediálním frameworkem MLT. Nejnovější Shotcut je již vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.

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

    Svobodný elektronický platební systém GNU Taler (Wikipedie, cgit) byl vydán ve verzi 1.0. GNU Taler chrání soukromí plátců a zároveň zajišťuje, aby byl příjem viditelný pro úřady. S vydáním verze 1.0 byl systém spuštěn ve Švýcarsku.

    Ladislav Hagara | Komentářů: 2
    dnes 00:55 | Pozvánky

    Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 209. brněnský sraz, který proběhne tento pátek 16. května od 18:00 ve studentském klubu U Kachničky na Fakultě informačních technologií Vysokého učení technického na adrese Božetěchova 2/1. Jelikož se Brno stalo jedním z hlavních míst, kde se vyvíjí open source knihovna OpenSSL, tentokrát se OpenAlt komunita potká s komunitou OpenSSL. V rámci srazu Anton Arapov z OpenSSL

    … více »
    Ladislav Hagara | Komentářů: 0
    dnes 00:22 | Komunita

    GNOME Foundation má nového výkonného ředitele. Po deseti měsících skončil dočasný výkonný ředitel Richard Littauer. Vedení nadace převzal Steven Deobald.

    Ladislav Hagara | Komentářů: 4
    10.5. 15:00 | Zajímavý článek

    Byl publikován přehled vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie) za uplynulé dva měsíce. Servo zvládne už i Gmail. Zakázány jsou příspěvky generované pomocí AI.

    Ladislav Hagara | Komentářů: 15
    9.5. 17:22 | Nová verze

    Raspberry Pi Connect, tj. oficiální služba Raspberry Pi pro vzdálený přístup k jednodeskovým počítačům Raspberry Pi z webového prohlížeče, byla vydána v nové verzi 2.5. Nejedná se už o beta verzi.

    Ladislav Hagara | Komentářů: 6
    9.5. 15:22 | Komunita

    Google zveřejnil seznam 1272 projektů (vývojářů) od 185 organizací přijatých do letošního, již jednadvacátého, Google Summer of Code. Plánovaným vylepšením v grafických a multimediálních aplikacích se věnuje článek na Libre Arts.

    Ladislav Hagara | Komentářů: 0
    8.5. 19:22 | Nová verze

    Byla vydána (𝕏) dubnová aktualizace aneb nová verze 1.100 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.100 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    8.5. 18:00 | Nová verze

    Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána v nové verzi 2025.5.

    Ladislav Hagara | Komentářů: 0
    8.5. 01:22 | Nová verze Ladislav Hagara | Komentářů: 0
    Jaký filesystém primárně používáte?
     (57%)
     (1%)
     (8%)
     (22%)
     (4%)
     (2%)
     (3%)
     (1%)
     (1%)
     (3%)
    Celkem 589 hlasů
     Komentářů: 26, poslední 8.5. 09:58
    Rozcestník

    Dotaz: Je vstup číslo nebo *?

    14.5.2011 11:24 Pepa
    Je vstup číslo nebo *?
    Přečteno: 379×
    Ahoj, řeším problém. chtěl bych ošetřit, zda je vstup číslo nebo znak *... Hledal jsem a téměř vše ,co jsem našel mi nešlo

    Tohle jsem našel tu, nefunguje:
    [[ ${vstup} =~ "^[+-]?[0-9]+$" ]] && echo "$vstup je cislo" || echo "$vstup neni cislo"
    Vůbec to ošetření vstupu ,zda je číslo...
    if [ "$value" -gt "0" -a "$value" -lt "23" ] || [ "$value" = "*" ]; then,
    tohle mi funguje, ale v připadě stringu to sice vyhodnotí správně, ale vyhodí to chybu ilegall number.. co stím?Díky

    Odpovědi

    Jakub Lucký avatar 14.5.2011 11:33 Jakub Lucký | skóre: 40 | Praha
    Rozbalit Rozbalit vše Re: Je vstup číslo nebo *?
    if [ "$value" = "*" ] || [ "$value" -gt "0" -a "$value" -lt "23" ];then ...

    Tohle v Bashi funguje bez problémů...
    If you understand, things are just as they are; if you do not understand, things are just as they are.
    14.5.2011 11:51 Pepa
    Rozbalit Rozbalit vše Re: Je vstup číslo nebo *?
    ano, ale cokoliv jiného, než to vypíše
    [: 25: Illegal number:
    14.5.2011 12:16 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Je vstup číslo nebo *?
    Co konkrétně jste zkoušel?
    Jakub Lucký avatar 14.5.2011 15:01 Jakub Lucký | skóre: 40 | Praha
    Rozbalit Rozbalit vše Re: Je vstup číslo nebo *?
    No, já myslel spojit oba dva řádky, co tam máte, tedy:
    if [[ ${vstup} =~ "^[+-]?[0-9*]+$" ]];then
        if [ "$value" = "*" ] || [ "$value" -gt "0" -a "$value" -lt "23" ];then
            echo "Vstup OK"
    fi;
    
    Ale myslím, že níže vám někdo nabídne lepší řešení...
    If you understand, things are just as they are; if you do not understand, things are just as they are.
    15.5.2011 12:34 Pepa
    Rozbalit Rozbalit vše Re: Je vstup číslo nebo *?
    Konkrétně tohle
    if [[ ${vstup} =~ "^[+-]?[0-9*]+$" ]];then
    mi nefunguje,netuším proč
    14.5.2011 12:03 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Je vstup číslo nebo *?

    Případně rovnou

      if [ "$value" = "*" -o "$value" -gt "0" -a "$value" -lt "23" ]; then
    
    15.5.2011 14:29 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: Je vstup číslo nebo *?
    V bash 4.1.9(2)) mi to hází chybu, připadá mi že mu při vyhodnocování vadí fakt, že by byla hodnota mohla být číslo (ke kterému se váží -gt a -lt) i řetězec (porovnávaný =). Novější [[ ]] fungují.
    bash$ value=*
    bash$ echo "$value"
    *
    
    bash$ if [ "$value" = "*" -o "$value" -gt "0" -a "$value" -lt "23" ]; then echo ok; fi
    bash: [: *: integer expression expected
    
    bash$ if [[ "$value" = "*" || "$value" -gt "0" || "$value" -lt "23" ]]; then echo ok; fi
    bash$ ok
    
    bash$ if [ "$value" = "*" ]; then echo ok; elif [ "$value" -gt "0" -a "$value" -lt "23" ]; then echo ok; fi;
    ok
    
    
    Bilbo avatar 14.5.2011 13:15 Bilbo | skóre: 29
    Rozbalit Rozbalit vše Re: Je vstup číslo nebo *?
    Nemělo by to "*" být v jednoduchých uvozovkách? Takhle to může bash expandovat na seznam všech souborů v aktuálním adresáři :)

    Nějak takhle: if [ "$value" = '*' ] || [ "$value" -gt "0" -a "$value" -lt "23" ];then ...
    Big brother is not watching you anymore. Big Brother is telling you how to live...
    14.5.2011 14:21 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Je vstup číslo nebo *?
    Nemusí. Nemůže.
    14.5.2011 12:15 Miklik | skóre: 27 | Krnov
    Rozbalit Rozbalit vše Re: Je vstup číslo nebo *?
    Mně toto funguje

    [user@srv ~]$ if [[ 2443 =~ ^[0-9]+$ ]]; then echo OK; else echo NO; fi
    OK
    [user@srv ~]$ if [[ 2A443 =~ ^[0-9]+$ ]]; then echo OK; else echo NO; fi
    NO
    Netvrdím to, ale možná je to pravda.
    14.5.2011 12:26 Miklik | skóre: 27 | Krnov
    Rozbalit Rozbalit vše Re: Je vstup číslo nebo *?
    Případně i toto

    if [[ 2443 =~ ^[+-]?[0-9]+$ ]]; then echo OK; else echo NO; fi
    Netvrdím to, ale možná je to pravda.
    David Watzke avatar 14.5.2011 12:27 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Je vstup číslo nebo *?
    Tak si ten regex zkus dát do uvozovek. Problém je, že v jedný verzi bashe to šlo dobře a pak se to chování zase změnilo. Je to pěkně na hlavu...
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    14.5.2011 12:32 Miklik | skóre: 27 | Krnov
    Rozbalit Rozbalit vše Re: Je vstup číslo nebo *?
    [user@srv ~]$ bash -version
    GNU bash, version 3.00.15(1)-release (i686-redhat-linux-gnu)
    Copyright (C) 2004 Free Software Foundation, Inc.
    [user@srv ~]$ if [[ 2443 =~ "^[+-]?[0-9]+$" ]]; then echo OK; else echo NO; fi
    OK
    [user@srv ~]$ if [[ 24A43 =~ "^[+-]?[0-9]+$" ]]; then echo OK; else echo NO; fi
    NO


    No tak nevím, mě to funguje s uvozovkama i bez.
    Netvrdím to, ale možná je to pravda.
    David Watzke avatar 14.5.2011 13:21 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Je vstup číslo nebo *?
    Právě proto, že máš pravěkou verzi Bashe, ve který to ještě šlo.
    dave@amd64 ~ $ if [[ 2443 =~ ^[0-9]+$ ]]; then echo OK; else echo NO; fi
    OK
    dave@amd64 ~ $ if [[ 2443 =~ "^[0-9]+$" ]]; then echo OK; else echo NO; fi
    NO
    dave@amd64 ~ $ bash --version
    GNU bash, verze 4.2.10(2)-release (x86_64-unknown-linux-gnu)
    Copyright (C) 2011 Free Software Foundation, Inc.
    Licence GPLv3+: GNU GPL verze 3 nebo novější <http://gnu.org/licenses/gpl.html>
    
    Toto je svobodné programové vybavení: máte právo jej měnit a šířit.
    VEŠKERÉ ZÁRUKY chybí, jak jen zákon dovoluje.
    Myslím, že se to podělalo ve verzi 3.1 nebo 3.2.
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    14.5.2011 13:58 Pepa
    Rozbalit Rozbalit vše Re: Je vstup číslo nebo *?
    funguje, ale nechápu ten výraz, jak to zapsat tak, aby to bralo včetně "*" .Díky
    14.5.2011 14:04 Pepa
    Rozbalit Rozbalit vše Re: Je vstup číslo nebo *?
    ne, tak zpět, v terminálu funguje, ve scriptu ne
    14.5.2011 14:08 Pepa
    Rozbalit Rozbalit vše Re: Je vstup číslo nebo *?
    GNU bash, verze 4.1.5(1)-release (x86_64-pc-linux-gnu)
    Copyright © 2009 Free Software Foundation, Inc.
    Licence GPLv3+: GNU GPL verze 3 nebo novější http://gnu.org/licenses/gpl.html
    
    Toto je svobodné programové vybavení: máte právo jej měnit a šířit.
    VEŠKERÉ ZÁRUKY chybí, jak jen zákon dovoluje.
    
    David Watzke avatar 14.5.2011 14:22 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Je vstup číslo nebo *?
    Určitě to není nějakým překlepem?
    dave@amd64 /tmp $ if [[ 2443 =~ ^[0-9]+$ ]]; then echo OK; else echo NO; fi
    OK
    dave@amd64 /tmp $ echo 'if [[ 2443 =~ ^[0-9]+$ ]]; then echo OK; else echo NO; fi' > x
    dave@amd64 /tmp $ bash x
    OK
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    14.5.2011 14:40 Pepa
    Rozbalit Rozbalit vše Re: Je vstup číslo nebo *?
    read value
    			if [[ $value =~ ^[0-9]+$ ]]; then
    				echo true
    			else
                                    echo false
    			fi
    19: [[: not found
    David Watzke avatar 14.5.2011 14:51 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Je vstup číslo nebo *?
    Tak to nechápu, protože tohle mi funguje správně jak v terminálu, tak ve skriptu.
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    Jakub Lucký avatar 14.5.2011 15:02 Jakub Lucký | skóre: 40 | Praha
    Rozbalit Rozbalit vše Re: Je vstup číslo nebo *?
    Nepoužíváte náhodou ve skriptu /bin/sh, který je nalinkovaný jinam, než je /bin/bash ?
    If you understand, things are just as they are; if you do not understand, things are just as they are.
    14.5.2011 15:15 Pepa
    Rozbalit Rozbalit vše Re: Je vstup číslo nebo *?
    Nevím, co tím myslíte, používám Ubuntu, default, nic zásadního jsem neměnil
    David Watzke avatar 14.5.2011 15:42 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Je vstup číslo nebo *?
    Jako první řádek ve skriptu uveďte #!/bin/bash, přidejte mu právo ke spuštění (chmod +x skript) a spusťte jej (./skript).
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    frEon avatar 15.5.2011 16:32 frEon | skóre: 40 | Praha
    Rozbalit Rozbalit vše Re: Je vstup číslo nebo *?
    ahoj, jestli je $value cislo otestujes treba takto:
    kleptor@aine:/tmp$ value=666
    kleptor@aine:/tmp$ expr 1 + $value &> /dev/null && echo "je cislo" || echo "neni cislo"
    je cislo
    kleptor@aine:/tmp$ value=blabla
    kleptor@aine:/tmp$ expr 1 + $value &> /dev/null && echo "je cislo" || echo "neni cislo"
    neni cislo
    
    Talking about music is like dancing to architecture.

    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.