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í
×
    včera 19:11 | Zajímavý projekt

    Vývojáři Ubuntu představili projekt Myna, tj. iniciativu zaměřenou na přidání funkce převodu řeči na text do prostředí desktopu Ubuntu. Dle plánu již v Ubuntu 26.10.

    Ladislav Hagara | Komentářů: 0
    včera 18:33 | Zajímavý software

    Společnost Epic Games představila nový open source systém pro správu verzí Lore navržený pro "bezprecedentní škálovatelnost dat i týmů a optimalizovaný pro projekty, včetně her a zábavy, které kombinují kód s velkými binárními soubory, aby uspokojil potřeby vývojářů i umělců". Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

    Ladislav Hagara | Komentářů: 0
    včera 15:33 | IT novinky

    Úřad pro ochranu hospodářské soutěže (ÚOHS) provedl v říjnu 2024 místní šetření u společnosti Seznam.cz. Úřad prověřoval důvodné podezření na možné protisoutěžní jednání, konkrétně zneužití dominantního postavení. Krajský soud v Brně v květnu 2025 konstatoval, že toto šetření bylo nezákonné. Nejvyšší správní soud (NSS) včera rozhodl, že šetření bylo provedeno v souladu se zákonem. Krajský soud bude muset případ posoudit znovu.

    Ladislav Hagara | Komentářů: 0
    včera 12:22 | IT novinky

    Byl představen skládací telefon Commodore Callback 8020. Ani hloupý, ani chytrý. Pro fanoušky Commodore a digitálního minimalismu. Bez webového prohlížeče a sociálních sítí. S předinstalovaným WhatsAppem. S operačním systémem Sailfish OS.

    Ladislav Hagara | Komentářů: 1
    včera 08:22 | Bezpečnostní upozornění

    V OpenBSD byla objevena 27 let stará chyba v ppp pomocí níž lze vzdáleně obejít autentifikaci. Chyba byla nahlášena 12.6. a 14.6. byla opravena. Bližší info v článku A 27-Year-Old Authentication Bypass in OpenBSD's PPP Stack.

    Max | Komentářů: 6
    včera 05:22 | Zajímavý článek

    Odpověď Evropské komise (pdf) k evropské občanské iniciativě Stop Destroying Videogames, jež je součástí hnutí Stop Killing Games: "Komise se domnívá, že v této fázi nemůže navrhnout právní povinnost zachovat hratelnost videoher poté, co přestaly být poskytovány komerčně. Důvodem jsou i stávající práva duševního vlastnictví. Podle autorského práva EU mají nositelé práv výlučná práva ke svým výtvorům. Kromě autorských práv mohou být

    … více »
    Ladislav Hagara | Komentářů: 10
    16.6. 16:11 | Nová verze

    Byl vydán Mozilla Firefox 152.0. 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 152 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 1
    16.6. 14:11 | Nová verze

    Desktopové prostředí KDE Plasma bylo vydáno ve verzi 6.7 (Mastodon). Přehled novinek i s videi a se snímky obrazovek v oficiálním oznámení. Podrobný přehled v seznamu změn.

    Ladislav Hagara | Komentářů: 23
    16.6. 11:44 | Komunita

    Hříčka xsnow, která na ploše spustí sněžení, je protestware. Pokud jste v Rusku (LANG=ru), zobrazuje ukrajinské vlajky.

    Ladislav Hagara | Komentářů: 40
    16.6. 11:11 | Nová verze

    UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala beta verzi Ubuntu Touch 24.04-2.0. Nová verze již počítá s výřezy pro fotoaparát (notch) a zaoblenými rohy displeje. Webový prohlížeče Morph přešel z Chromia 87 na Chromium 134. Do shellu Lomiri byl přidán editor snímků obrazovky.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (8%)
     (2%)
     (16%)
     (31%)
     (3%)
     (6%)
     (3%)
     (16%)
     (26%)
    Celkem 1928 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: Format hodnoty paramtru v bash

    6.2.2010 22:27 Patrik Uhrak | skóre: 31 | blog: pato
    Format hodnoty paramtru v bash
    Přečteno: 227×

    Zdravim,

    Ako vynutit alebo overit hodnotu parametra pre skript ? Konkretne ide o to, ze je mozne definovat rozlisenie vo formate VYSKAxSIRKA . Maximalna hodnota je pre vysku aj sirku 65536 pixelov, ak sa dobre pamatam. To ale nie je tak podstatne, vlastne vobec. Ide o to, co pouzit, aky nastroj, po com sa pozriet. Nechcem riesenie, len kde by som sa mal zamerat resp. na co. Zatial si dorabam dalsie veci, len toto je jedina, s ktorou nedokazem pohnut. Hodnoty ziskavam cez getops , ak je to dolezite. Dakujem za kazdu radu.


    Řešení dotazu:


    Odpovědi

    6.2.2010 23:40 Patrik Uhrak | skóre: 31 | blog: pato
    Rozbalit Rozbalit vše Re: Format hodnoty paramtru v bash

    Radsej to upresnim, lebo neviem, ci by som bol schopny reagovat na zaklade doterajsich informacii, co som poskytol.

     

    Zavolam skript pomocou:

    skript -r 1280x1024

     

    Pomocou getops si preberiem hodnotu parametra -r a poslem ho pre convert z balicka imagemagick. Ten prave berie aj tento zapis pre -resize .

    Bolo by hlupe poslat akukolvek hodnotu a neriesit to, kedze predtym ako k nejakemu pouzitie convert pride sa vykonaju este dalsie akcie, co zaberie prostriedky, ktore by sa zlym formatom mrhali. Je to prakticky posledna dolezita akcia, ked neberieme do uvahy vypisy do terminalu.

     

    Takze ako je mozne zabranit spusteniu niecoho ako

    skript -r 1280x
        ci
    skript -r BLAxBLA
    . Ako vynutit, osetrit, aby zadana hodnota pre -r bola v spravnom formate a spravnymi hodnotami? Skusal som cut  a dufal, ze ak tam x nebude, tak hodi chybovu hlasku alebo sa zmeni exit status. By som mal po probleme. Ale ani exit status sa nemeni aj ked zadam
    echo "1280x" | cut -d "x" -f 2
    , hodi mi tych 1280 . Taktiez printf som pozeral, ale nic rozumne ma nenapadlo. Tak ja uz neviem, co dalej :( Je to vlastne taka posledna dolezita vec, potom to uz len dako uhladit, optimalizovat, pokial sa da.

    7.2.2010 00:17 l4m4
    Rozbalit Rozbalit vše Re: Format hodnoty paramtru v bash
    Pokud ti nevadí bashismy, tak lze normálně použít regulární výraz...
    v=1280x1024
    if [[ $v =~ '^[0-9]+x[0-9]+$' ]]; then
      echo OK
    else
      echo Bad
    fi
    
    7.2.2010 00:35 l4m4
    Rozbalit Rozbalit vše Re: Format hodnoty paramtru v bash
    Aha, ty potřebuješ testovat i rozsah. Každopádně když začneš tímto, budeš mít jistotu ve formátu...
    7.2.2010 00:22 Miklik | skóre: 27 | Krnov
    Rozbalit Rozbalit vše Re: Format hodnoty paramtru v bash
    Pro začátek třebas tohle.

    $ echo 1280x960 |sed s/x.*//
    1280
    $ echo 1280x960 |sed s/.*x//
    960
    Netvrdím to, ale možná je to pravda.
    7.2.2010 00:33 Miklik | skóre: 27 | Krnov
    Rozbalit Rozbalit vše Re: Format hodnoty paramtru v bash
    $ X=`echo 0x960 |sed s/x.*//`; if test $X -ge 0 && test $X -le 65635; then echo $X OK; fi
    0 OK
    $ X=`echo 1280x960 |sed s/x.*//`; if test $X -ge 0 && test $X -le 65635; then echo $X OK; fi
    1280 OK
    $ X=`echo 65535x960 |sed s/x.*//`; if test $X -ge 0 && test $X -le 65535; then echo $X OK; fi
    65535 OK
    $ X=`echo 65536x960 |sed s/x.*//`; if test $X -ge 0 && test $X -le 65535; then echo $X OK; fi
    $ X=`echo 6Ax960 |sed s/x.*//`; if test $X -ge 0 && test $X -le 65535; then echo $X OK; fi
    -bash: test: 6A: integer expression expected
    Netvrdím to, ale možná je to pravda.
    7.2.2010 01:10 Patrik Uhrak | skóre: 31 | blog: pato
    Rozbalit Rozbalit vše Re: Format hodnoty paramtru v bash
    Diki, som to len trocha upravil a pozadovany vysledok je na svete. :)
    #! /bin/bash
    
    set -x
    WIDTH=`echo "$@" | sed s/x.*//` 
    
    if [ $WIDTH -ge 0 2>/dev/null ]
    then 
            if [ $WIDTH -le 65536 ]
            then 
                    echo $WIDTH OK
            else 
                    echo $WIDTH BAD
            fi
    else
            echo $WIDTH BAD BAD
    fi
    Toto je pre vysku, teda napravo od x. Kazdopadne, ak tam nie je x , tak zahlasi chybu. Ak je tam x, tak zoberie hodnotu a overi. Funguje to skvele. :) Rovnako pre nalavo od x, teda pre vysku a overenie je hotove. Diki moc.
    7.2.2010 02:03 Patrik Uhrak | skóre: 31 | blog: pato
    Rozbalit Rozbalit vše Re: Format hodnoty paramtru v bash
    Takze toto je vysledok, moze si to kazdy overit:
    #! /bin/bash
    
    RESOLUTION="$@"
    
    Width_func()
    {
    set -x
    WIDTH=`echo "$RESOLUTION" | sed -e "s/x.*//"` 
    
    if [ $WIDTH -ge 0 2>/dev/null ] 
    then 
            if [ $WIDTH -gt 65536 ]
            then
                    echo "Hodnota $WIDTH je vyssia nez povoleny limit 65536"
                    return 1 && exit
            fi
    else
            echo "Nespravne zadana hodnota"
            return 1 && exit
    fi
    }
    
    Heigth_func()
    {
    set -x
    HEIGTH=`echo "$RESOLUTION" | sed -e "s/.*x//"`
    
    if [ "$HEIGTH" -ge 0 2>/dev/null ]
    then 
            if [ "$HEIGTH" -gt 65536 ]
            then 
                    echo "Hodnota $HEIGTH je vyssia nez povoleny limit 65536"
                    return 1 && exit         
            fi
    else
            echo "Nespravne zadana hodnota"
            return 1 && exit
    fi
    }
    
    Width_func && Heigth_func && DEFAULT_RESOLUTION="$RESOLUTION"
    
    7.2.2010 00:34 l4m4
    Rozbalit Rozbalit vše Re: Format hodnoty paramtru v bash
    r=1280x960
    echo ${r%x*}
    echo ${r#*x}
    
    což je navíc korektní, protože to z 1280x960x12345 správně vyprodukuje nesmysl (ne-číslo).
    7.2.2010 00:47 Patrik Uhrak | skóre: 31 | blog: pato
    Rozbalit Rozbalit vše Re: Format hodnoty paramtru v bash

    Dakujem v prvom rade. Ale toto riesenie nie je vhodne pre mna. Pri zapise

    echo 1230x | sed s/x.*// 
    echo 1230x | sed s/.*x//

    Obidva prikazy mi hodia vysledky, s ktorymi sa da pracovat. Ako tak premyslam, najpodstatnejsie je tam to x. Mozno skusit overit prv to a potom hodnoty nalavo od x a napravo od x, ako uvadza tvoj priklad. Funkcne to je, aj by pomohlo, ale takto to uz nefunguje:

    echo 1230zbla | sed s/x.*//

    Ja viem, stupidne a kto nieco take spusti, tak nemoze byt zdravy. BTW. Vzdy ma vlastne zaujimalo, az do akych krajnosti je nutne ist pri overovani chovania uzivatela a kde uz nutne nie je ? Vid priklad vyssie.

    7.2.2010 00:57 l4m4
    Rozbalit Rozbalit vše Re: Format hodnoty paramtru v bash
    1) takhle jednoduše to nejde
    echo 1230x456x789 | sed s/x.*// 
    2) všechny hvězdičky (a hranaté závorky) patří do apostrofů, jinak ti na to jednou shell matchne jméno souboru a budeš se hodně divit
    7.2.2010 01:13 Patrik Uhrak | skóre: 31 | blog: pato
    Rozbalit Rozbalit vše Re: Format hodnoty paramtru v bash
    Bezne takto skaredo nepisem. Ja uvodzovky radsej dam, nez nie. Uz sa to nestane :D
    7.2.2010 00:57 Miklik | skóre: 27 | Krnov
    Rozbalit Rozbalit vše Re: Format hodnoty paramtru v bash
    V každém případě je si potřeba ty výsledky otestovat na to, jestli to je číslo a za druhé v jakém je rozsahu.
    Jinak dle mě by bylo lepší použit parametry ve tvaru -x 1280 -y 960.
    Netvrdím to, ale možná je to pravda.

    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.