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í
×
eParkomat, startup z ČR, postoupil mezi finalisty evropského akcelerátoru ChallengeUp!
Robot na pivo mu otevřel dveře k opravdovému byznysu
Internet věcí: Propojený svět? Už se to blíží...
včera 22:44 | Komunita

Joinup informuje, že Mnichov používá open source groupware Kolab. V srpnu byl dokončen dvouletý přechod na toto řešení. V provozu je asi 60 000 poštovních schránek. Nejenom Kolabu se věnoval Georg Greve ve své přednášce Open Source: the future for the European institutions (SlideShare) na konferenci DIGITEC 2016, jež proběhla v úterý 29. listopadu v Bruselu. Videozáznam přednášek z hlavního sálu je ke zhlédnutí na Livestreamu.

Ladislav Hagara | Komentářů: 1
včera 15:30 | Zajímavý projekt

Společnost Jolla oznámila v příspěvku Case study: Sailfish Watch na svém blogu, že naportovala Sailfish OS na chytré hodinky. Využila a inspirovala se otevřeným operačním systémem pro chytré hodinky AsteroidOS. Použita je knihovna libhybris. Ukázka ovládání hodinek na YouTube.

Ladislav Hagara | Komentářů: 5
včera 14:15 | Nová verze

Byla vydána verze 7.1.0 skriptovacího jazyka PHP používaného zejména k vývoji dynamických webových stránek. Jedná se o první stabilní verzi nejnovější větvě 7.1. Přehled novinek v dokumentaci. Podrobnosti v ChangeLogu. K dispozici je také příručka pro přechod z PHP 7.0.x na PHP 7.1.x.

Ladislav Hagara | Komentářů: 0
včera 12:55 | Nová verze

Google Chrome 55 byl prohlášen za stabilní. Nejnovější stabilní verze 55.0.2883.75 tohoto webového prohlížeče přináší řadu oprav a vylepšení (YouTube). Opraveno bylo také 36 bezpečnostních chyb. Mariusz Mlynski si například vydělal 22 500 dolarů za 3 nahlášené chyby (Universal XSS in Blink).

Ladislav Hagara | Komentářů: 4
včera 11:55 | Pozvánky

Máte rádi svobodný software a hardware nebo se o nich chcete něco dozvědět? Přijďte na 135. sraz spolku OpenAlt, který se bude konat ve čtvrtek 8. prosince od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Sraz bude tentokrát tématický. Bude retro! K vidění budou přístroje jako Psion 5mx nebo Palm Z22. Ze svobodného hardwaru pak Openmoko nebo čtečka WikiReader. Přijďte se i vy pochlubit svými legendami, nebo alespoň na pivo. Moderní hardware má vstup samozřejmě také povolen.

xkucf03 | Komentářů: 0
včera 00:10 | Nová verze

Byla vydána verze 3.2 svobodného systému pro detekci a prevenci průniků a monitorování bezpečnosti počítačových sítí Suricata. Z novinek lze zmínit například podporu protokolů DNP3 a CIP/ENIP, vylepšenou podporu TLS a samozřejmě také aktualizovanou dokumentaci.

Ladislav Hagara | Komentářů: 0
1.12. 21:00 | Nová verze

Byla vydána beta verze Linux Mintu 18.1 s kódovým jménem Serena. Na blogu Linux Mintu jsou hned dvě oznámení. První o vydání Linux Mintu s prostředím MATE a druhé o vydání Linux Mintu s prostředím Cinnamon. Stejným způsobem jsou rozděleny také poznámky k vydání (MATE, Cinnamon) a přehled novinek s náhledy (MATE, Cinnamon). Linux Mint 18.1 bude podporován až do roku 2021.

Ladislav Hagara | Komentářů: 0
1.12. 16:42 | Nová verze

Byl vydán Devuan Jessie 1.0 Beta 2. Jedná se o druhou beta verzi forku Debianu bez systemd představeného v listopadu 2014 (zprávička). První beta verze byla vydána v dubnu letošního roku (zprávička). Jedna z posledních přednášek věnovaných Devuanu proběhla v listopadu na konferenci FSCONS 2016 (YouTube, pdf).

Ladislav Hagara | Komentářů: 0
1.12. 15:16 | Komunita

Na GOG.com začal zimní výprodej. Řada zlevněných her běží oficiálně také na Linuxu. Hru Neverwinter Nights Diamond lze dva dny získat zdarma. Hra dle stránek GOG.com na Linuxu neběží. Pomocí návodu ji lze ale rozběhnout také na Linuxu [Gaming On Linux].

Ladislav Hagara | Komentářů: 1
1.12. 13:14 | Bezpečnostní upozornění

Byla vydána verze 2.7.1 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Řešeno je několik bezpečnostních problémů. Aktualizován byl především Tor Browser na verzi 6.0.7. Tor Browser je postaven na Firefoxu ESR (Extended Support Release) a právě ve Firefoxu byla nalezena a opravena vážná bezpečnostní chyba MFSA 2016-92 (CVE-2016-9079, Firefox SVG Animation

… více »
Ladislav Hagara | Komentářů: 0
Kolik máte dat ve svém domovském adresáři na svém primárním osobním počítači?
 (32%)
 (24%)
 (29%)
 (7%)
 (5%)
 (3%)
Celkem 759 hlasů
 Komentářů: 50, poslední 29.11. 15:50
Rozcestník
Reklama

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: 141×

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.