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 02:11 | Komunita

    Všem čtenářkám a čtenářům AbcLinuxu krásné Vánoce.

    Ladislav Hagara | Komentářů: 14
    dnes 02:00 | Nová verze

    Byla vydána nová verze 7.0 linuxové distribuce Parrot OS (Wikipedie). S kódovým názvem Echo. Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 1
    včera 18:33 | Nová verze

    Vývojáři postmarketOS vydali verzi 25.12 tohoto před osmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.

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

    Byla vydána nová verze 0.41.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.

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

    Byla vydána nová verze 5.5 (novinky) skriptovacího jazyka Lua (Wikipedie). Po pěti a půl letech od vydání verze 5.4.

    Ladislav Hagara | Komentářů: 0
    22.12. 23:44 | Nová verze

    Byla vydána nová verze 5.4.0 programu na úpravu digitálních fotografií darktable (Wikipedie). Z novinek lze vypíchnout vylepšenou podporu Waylandu. Nejnovější darktable by měl na Waylandu fungovat stejně dobře jako na X11.

    Ladislav Hagara | Komentářů: 0
    21.12. 05:00 | Nová verze

    Byla vydána beta verze Linux Mintu 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.

    Ladislav Hagara | Komentářů: 2
    21.12. 01:55 | Nová verze

    GNU Project Debugger aneb GDB byl vydán ve verzi 17.1. Podrobný přehled novinek v souboru NEWS.

    Ladislav Hagara | Komentářů: 0
    19.12. 17:22 | IT novinky

    Josef Průša oznámil zveřejnění kompletních CAD souborů rámů tiskáren Prusa CORE One a CORE One L. Nejsou vydány pod obecnou veřejnou licenci GNU ani Creative Commons ale pod novou licencí OCL neboli Open Community License. Ta nepovoluje prodávat kompletní tiskárny či remixy založené na těchto zdrojích.

    Ladislav Hagara | Komentářů: 14
    19.12. 17:00 | Komunita

    Nový CEO Mozilla Corporation Anthony Enzor-DeMeo tento týden prohlásil, že by se Firefox měl vyvinout v moderní AI prohlížeč. Po bouřlivých diskusích na redditu ujistil, že v nastavení Firefoxu bude existovat volba pro zakázání všech AI funkcí.

    Ladislav Hagara | Komentářů: 1
    Kdo vám letos nadělí dárek?
     (29%)
     (3%)
     (10%)
     (3%)
     (1%)
     (3%)
     (16%)
     (20%)
     (15%)
    Celkem 79 hlasů
     Komentářů: 18, poslední dnes 15:30
    Rozcestník

    Dotaz: getopts v shellu

    23.2.2010 18:44 jirka36 | skóre: 2
    getopts v shellu
    Přečteno: 2308×
    zdravim mam takovy problem a nevim jak si s nim poradit. Kdyz chci pouzit na zpracovani parametru cmd line pouzit funkce getopts kdy se nejdriv ma vykonat prvni prepinac a posleze druhy s nejakym regularnim vyrazem

    napr. ./mujscript.sh -ab.

    jak to mam udelat?

    Odpovědi

    23.2.2010 19:02 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: getopts v shellu
    Nějak jsem nepochopil jak se to co popisujete liší od normálního použití getopts?
    24.2.2010 15:12 jirka36 | skóre: 2
    Rozbalit Rozbalit vše Re: getopts v shellu

    Zdaravím mám takovýhle kus kodu

    ...smazáno na žádost tazatele...

    A moje otazka zni. Kdyz spustim skript takto ./mujskript.sh -ew. ls tak by se mel vykonat strace ls a z vypisu vysekat radky ktere vyhovuji prepinacum....Ale me se spusti strace -w misto strace ls...jak udelam aby se to chovalo spravne....

    24.2.2010 15:42 chochi | skóre: 29 | Praha
    Rozbalit Rozbalit vše Re: getopts v shellu
    Ahoj,

    Tak tady bude problem ten strace -f "$@", kde v promene $@ budou vsechny parametry, tzn.bude se rovnat -ew. ls, takze se zavola:
    strace -f -ew. ls.
    Pokud vim tak tohle nepujde jednoduse s getops udelat.
    Jako navrh bych udelal, ze parameter pro strace bude jako prvni, takze se bude volat napr:
    ./mujskript.sh "ls -la" -ew.
    A pak v kodu bude (+osetreni pripadu, kdyz nebude zadny parametr):
    ...
    STRACE_ARGS=$1
    shift
    while getopts "ew:r:v:" param; do
    case $param in
    e)
    echo "=== RUN PROCESS ==="   
    strace -f $STRACE_ARGS 2>&1| grep "execve("| grep  "= -1 ENOENT" -v| sed 's/"/ /g'| awk '{ print $2 }'| sort| uniq
    ;;
    ...
    
    Fuky avatar 24.2.2010 10:33 Fuky | skóre: 52 | blog: 4u
    Rozbalit Rozbalit vše Re: getopts v shellu

    Máš na mysli realizaci "zkrácených voleb" jako to umí např. tar nebo ps?

    $ tar zxf archive.tgz
    $ ps aux
    
    24.2.2010 13:58 chochi | skóre: 29 | Praha
    Rozbalit Rozbalit vše Re: getopts v shellu
    Neco takovehleho (dulezita je ta dvojtecka):
    while getopts "ab:" C; do
      case $C in
        a) echo "A";;
        b) echo "B: " $OPTARG;;
      esac;
    done
    
    S tim ze to pak funguje takhle:
    $ for T in "-a" "-a -b" "-a -b xx" "-abyy" "-ba" "-ba -a"; do echo "Calling with: $T";  bash -c 'while getopts "ab:" C; do case $C in a) echo "A";; b) echo "B: " $OPTARG;; esac; done' -- $T; done
    
    Calling with: -a
    A
    Calling with: -a -b
    A
    --: option requires an argument -- b
    Calling with: -a -b xx
    A
    B:  xx
    Calling with: -abyy
    A
    B:  yy
    Calling with: -ba
    B:  a
    Calling with: -ba -a
    B:  a
    A
    
    24.2.2010 21:56 Semo | skóre: 45 | blog: Semo
    Rozbalit Rozbalit vše Re: getopts v shellu
    Netusim co sa pytas, ale tu mas ukazku pouzitia getops:
    while getopts "f:ho:v" flag; do
        case "$flag" in
        f) fps="$OPTARG"
            ;;
        h) printusage
            exit 0
            ;;
        o) output="$OPTARG"
            ;;
        v) videoonly=yes
            ;;
        *) printusage
            exit 1
            ;;
        esac
    done
    
    shift "$((OPTIND - 1))"
    If you hold a Unix shell up to your ear, you can you hear the C.
    25.2.2010 00:03 jirka36 | skóre: 2
    Rozbalit Rozbalit vše Re: getopts v shellu
    ted bych potreboval poradit jak nazvat vetev ktera se provede kdyz nezadam zadny parametr? zkousel sem tyto vetve "?)", "*)", ":)" ani jedna to nesplnila

    pr. ./skript.sh --> spusteni bez parametru, vypis help

    Fuky avatar 25.2.2010 00:30 Fuky | skóre: 52 | blog: 4u
    Rozbalit Rozbalit vše Re: getopts v shellu
    25.2.2010 13:58 jirka36 | skóre: 2
    Rozbalit Rozbalit vše Re: getopts v shellu
    jj na to jsem taky prisel ale spis me znamenalo jestli neni nejaka vetev v tom getopts ktera by ten help spustila.... ale asi nic takovyho neni takze to stejne udelam pres ten $#

    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.