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 19:55 | Zajímavý software

    Uživatelé mobilních telefonů s Linuxem si nyní mohou nainstalovat aplikaci Mobilní Datovka. Díky tomu je přístup k datovým schránkám dostupný i na zařízeních s mobilními linuxovými distribucemi, jako jsou například Mobian, NixOS Mobile, pmOS atd. Aplikace je dostupná na Flathubu.

    David Heidelberg | Komentářů: 0
    dnes 13:33 | Komunita

    Software Freedom Conservancy v novém dokumentu shrnuje doporučení, jak přistupovat ke generativní AI založené na LLM při přispívání do svobodného a open-source softwaru. Mimo jiné vyzývá k obezřetnosti, transparentnosti a revizi generovaného kódu člověkem.

    |🇵🇸 | Komentářů: 0
    dnes 13:22 | Nová verze

    Byla vydána nová verze 5.6.0 programu na úpravu digitálních fotografií darktable (Wikipedie).

    Ladislav Hagara | Komentářů: 0
    včera 20:11 | Komunita

    Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma. V Týdnu v GNOME je zmíněn flatpak balíček pro GIMP 0.54.1 z roku 1996. Jedná se o poslední verzi GIMPu postavenou nad toolkitem Motif.

    Ladislav Hagara | Komentářů: 0
    včera 19:11 | Nová verze

    Home Assistant Operating System, tj. linuxová distribuce optimalizována pro hostování Home Assistanta a jeho aplikací, byl vydán v nové major verzi 18.0.

    Ladislav Hagara | Komentářů: 0
    včera 18:11 | Komunita

    Po šestiletém úsilí byla z jádra Linux odstraněna funkce strncpy(). Všechna předchozí volání této funkce byla převedena na bezpečnější alternativy.

    Ladislav Hagara | Komentářů: 1
    včera 17:22 | Nová verze

    Byla vydána nová verze 261 správce systému a služeb systemd (Wikipedie, GitHub). Z novinek lze vypíchnout nový subsystém IMDS (Cloud "Instance Metadata Service"), nový příkaz storagectl nebo novou komponentu systemd-sysinstall.

    Ladislav Hagara | Komentářů: 3
    včera 12:00 | Nová verze

    Vývojové prostředí Qt Creator bylo vydáno ve verzi 20 (seznam změn). Novinky zahrnují hlavně rozšíření pro integraci LLM agentů nebo minimalistický editační režim uživatelského rozhraní („zen mode“).

    |🇵🇸 | Komentářů: 0
    19.6. 10:22 | Humor

    Už jste se prolétli na webu Google Earth? Přibyl tam Simulátor letu (Nástroje / Simulátor letu). Funguje i bez účtu Google [𝕏].

    Ladislav Hagara | Komentářů: 0
    19.6. 09:55 | Nová verze

    Byla vydána nová verze 4.7 (𝕏, Bluesky, Mastodon) multiplatformního open source herního enginu Godot (Wikipedie, GitHub). Přehled novinek i s náhledy v příspěvku na blogu.

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


    Dotaz: getopts v shellu

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