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 03:33 | Zajímavý software Ladislav Hagara | Komentářů: 0
    dnes 00:11 | Nová verze

    Byla vydána nová major verze 34.0.0 webového prohlížeče Pale Moon (Wikipedie) vycházejícího z Firefoxu. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 16:11 | Humor

    Win8DE je desktopové prostředí pro Wayland, inspirované nechvalně proslulým uživatelským rozhraním Metro z Windows 8. Nabízí dlaždicové rozhraní s velkými tlačítky a jednoduchou navigací, optimalizované pro dotyková zařízení. Cílem projektu je přetvořit design operačního systému Windows 8 do funkčního a minimalistického rozhraní vhodného pro každodenní použití na Linuxu.

    NUKE GAZA! 🎆 | Komentářů: 8
    včera 14:33 | Nová verze

    Laboratoře CZ.NIC vydaly Datovku 4.28.0 a Mobilní Datovku 2.6.0. Hlavní novinkou je ukládání rozpracovaných datových zpráv do konceptů. Datovka je svobodné multiplatformní aplikace pro přístup k datovým schránkám a k trvalému uchovávání datových zpráv v lokální databázi.

    Ladislav Hagara | Komentářů: 6
    včera 14:22 | Zajímavý projekt

    Unix Pipe Game je vzdělávací karetní hra zaměřená na děti a rodiče, která děti učí používat unixové příkazy prostřednictvím interaktivních úkolů. Klíčovým prvkem hry je využití symbolu | pro pipeline neboli 'rouru', který umožňuje propojit výstupy a vstupy jednotlivých unixových příkazů, v tomto případě vytištěných na kartičkách. Předpokládá se, že rodič má alespoň nějaké povědomí o unixových příkazech a jejich provazování pomocí |.

    … více »
    NUKE GAZA! 🎆 | Komentářů: 3
    včera 13:55 | Zajímavý software

    PCIem je linuxový framework, který vytváří virtuální zařízení PCIe pomocí technik, které umožňují hostitelskému operačnímu systému rozpoznat tyto syntetické 'neexistující' karty jako fyzické zařízení přítomné na sběrnici. Framework PCIem je primárně zamýšlen jako pomůcka pro vývoj a testování ovladačů bez nutnosti použít skutečný hardware. Dle tvrzení projektu si fungování PCIem můžeme představit jako MITM (Man-in-the-Middle), který se nachází mezi ovladači a kernelem.

    NUKE GAZA! 🎆 | Komentářů: 0
    včera 05:33 | Bezpečnostní upozornění

    Byla nalezena vážná bezpečnostní chyba v telnetd z balíčku GNU InetUtils. Týká se verzí GNU InetUtils od 1.9.3 z 12. května 2015 až po aktuální 2.7 z 14. prosince 2025. Útočník může obejít autentizaci a získat root přístup, jelikož telnetd nekontroluje předaný obsah proměnné prostředí USER a pokud obsahuje "-f root"…

    Ladislav Hagara | Komentářů: 5
    20.1. 17:22 | Komunita

    Stanislav Aleksandrov předložil patch rozšiřující KWin (KDE Plasma) na 3D virtuální desktopové prostředí (videoukázka v mp4).

    Ladislav Hagara | Komentářů: 6
    20.1. 05:55 | IT novinky

    Digg (Wikipedie), "místo, kde můžete sdílet a objevovat to nejlepší z internetu – a nejen to", je zpět. Ve veřejné betě.

    Ladislav Hagara | Komentářů: 4
    20.1. 01:44 | Komunita

    Po .deb balíčcích Mozilla nově poskytuje také .rpm balíčky Firefoxu Nightly.

    Ladislav Hagara | Komentářů: 12
    Které desktopové prostředí na Linuxu používáte?
     (17%)
     (5%)
     (0%)
     (10%)
     (21%)
     (3%)
     (5%)
     (2%)
     (11%)
     (37%)
    Celkem 563 hlasů
     Komentářů: 16, poslední 20.1. 17:04
    Rozcestník

    Dotaz: getopts v shellu

    23.2.2010 18:44 jirka36 | skóre: 2
    getopts v shellu
    Přečteno: 2312×
    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.