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:00 | Nová verze

    UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch 24.04 1.1 a 20.04 OTA-11. Vedle oprav chyb a drobných vylepšení je řešen také středně závažný bezpečnostní problém.

    Ladislav Hagara | Komentářů: 0
    dnes 00:33 | IT novinky Ladislav Hagara | Komentářů: 0
    včera 16:00 | Komunita

    Fedora zve na dvoudenní testování (2. a 3. prosince), během kterého si můžete vyzkoušet nové webové uživatelské rozhraní (WebUI) projektu FreeIPA. Pomozte vychytat veškeré chyby a vylepšit uživatelskou zkušenost ještě předtím, než se tato verze dostane k uživatelům Fedory a celého linuxového ekosystému.

    Ladislav Hagara | Komentářů: 3
    včera 13:22 | IT novinky

    Eben Upton oznámil zdražení počítačů Raspberry Pi, kvůli růstu cen pamětí, a představil 1GB verzi Raspberry Pi 5 za 45 dolarů.

    Ladislav Hagara | Komentářů: 0
    včera 04:44 | Humor

    Linus Torvalds na YouTube kanálu Linus Tech Tips staví dokonalý linuxový počítač.

    Ladislav Hagara | Komentářů: 6
    včera 04:11 | Nová verze

    Po 9 týdnech vývoje od vydání Linuxu 6.17 oznámil Linus Torvalds vydání Linuxu 6.18. Přehled novinek a vylepšení na LWN.net: první a druhá polovina začleňovacího okna a Linux Kernel Newbies. Vypíchnout lze například podporu protokolu PSP (PSP Security Protocol, PSP encryption of TCP connections).

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

    Byla vydána nová stabilní verze 25.11 linuxové distribuce NixOS (Wikipedie). Její kódové označení je Xantusia. Podrobný přehled novinek v poznámkách k vydání. O balíčky se v NixOS stará správce balíčků Nix.

    Ladislav Hagara | Komentářů: 0
    včera 03:22 | Komunita

    Richard Hughes na Mastodonu oznámil, že se společnost Framework Computer stala sponzorem služby LVFS (Linux Vendor Firmware Service) umožňující aktualizovat firmware zařízení na počítačích s Linuxem.

    Ladislav Hagara | Komentářů: 0
    28.11. 18:55 | Humor

    Jak na webu co nejšíleněji zadávat datum? Jak to uživatelům co nejvíce znepříjemnit? V Bad UX World Cup 2025 (YouTube) se vybíraly ty nejšílenější UX návrhy. Vítězným návrhem se stal Perfect Date.

    Ladislav Hagara | Komentářů: 18
    28.11. 12:44 | Zajímavý software

    Společnost Collabora vydala (YouTube) na LibreOffice založený desktopový kancelářský balík Collabora Office. Pro Windows, macOS a Linux. Se stejným uživatelským rozhraním jako Collabora Online. Svůj desktopový kancelářský balík s rozhraním LibreOffice pojmenovala Collabora Office Classic.

    Ladislav Hagara | Komentářů: 13
    Jaké řešení používáte k vývoji / práci?
     (34%)
     (47%)
     (19%)
     (18%)
     (23%)
     (16%)
     (24%)
     (16%)
     (18%)
    Celkem 423 hlasů
     Komentářů: 17, poslední 19.11. 21:57
    Rozcestník

    Dotaz: BASH a getopts

    3.8.2010 07:37 ext3fs
    BASH a getopts
    Přečteno: 845×
    Ahoj,

    premyslim jak v BASHi pomoci getopts pracovat s argumenty prikazoveho radku v tomto duchu:
    ./script [option1] [NAME1,NAME2,...] [option2]
    
    napr: ./script -a soubor1 soubor2 soubor3 -x
    
    Jde neco takoveho vyresit pomoci getopts bez vymysleni vlastnich rutin pro parsovani argumentu?

    Pomoci tohoto pristupu:
    
    while getopts "a:" OPT
    do
        case $OPT in
        a)
            for I in ${OPTARG}
            do
                echo $I
            done
        esac
    done
    
    
    mam v OPTARG vzdy aktualni argument, ale ne pole argumentu...

    Odpovědi

    3.8.2010 11:37 volvox | skóre: 16
    Rozbalit Rozbalit vše Re: BASH a getopts
    AFAIK nejde.

    Buď uzavřete argument do uvozovek (pak bude skript fungovat, jak má), případně jako oddělovač použít čárku, nebo volbu chápat jako cestu k souboru se seznamem souborů a nebo (pokud je tam možnost, tak asi nejlepší řešení) nechat seznam souborů jako parametr (tj. bez volby):

    ./script [OPTIONS] [FILE...]

    Jinak by vám nezbylo, než si argumenty sám parsovat, ale to bych nedoporučoval - použitá syntaxe je hodně nestandardní, v rámci linuxu jedinečná, řekl bych.
    3.8.2010 12:09 ext3fs
    Rozbalit Rozbalit vše Re: BASH a getopts
    Nestandardni mozna je, ale pouziva ji (nebo podobne syntaxe) spousta nastroju...jmenovite co si z hlavy vzpomenu tak: yum, rsync, apt-get, du, ...
    3.8.2010 19:39 volvox | skóre: 16
    Rozbalit Rozbalit vše Re: BASH a getopts
    Tak to patrně myslíte tu poslední možnost, kterou jsem nastínil, nebo opravdu máte příklad použití s podobnou syntaxí jako v otázce?
    4.8.2010 06:22 zulu
    Rozbalit Rozbalit vše Re: BASH a getopts
    Nepouziva.
    4.8.2010 06:58 ext3fs
    Rozbalit Rozbalit vše Re: BASH a getopts
    A proc by ne?

    rpm -i balik1 balik2 balik3 --force
    4.8.2010 07:23 dustin | skóre: 63 | blog: dustin
    Rozbalit Rozbalit vše Re: BASH a getopts
    Nejsou ale ty balíky parametr rpm, spíš než přepínače -i? Tedy třeba rpm -i --force balik1 balik2 balik3
    4.8.2010 07:30 ext3fs
    Rozbalit Rozbalit vše Re: BASH a getopts
    Ano jsou. Slo mi presne o to zadavat parametry a prepinace v tomto duchu. Aby prosla prvni i druha varianta. A otazka tedy byla, zda se o to getopts stara. Odpoved je z diskuse jasna.
    3.8.2010 13:58 Semo | skóre: 45 | blog: Semo
    Rozbalit Rozbalit vše Re: BASH a getopts
    Da sa. getopts spracuva argument cislo OPTIND. Takze pri -a si napises parsovanie sam az do narazenia na argument zacinajuci na -. Posunies OPTIND a zase zavolas getopts.
    If you hold a Unix shell up to your ear, you can you hear the C.
    3.8.2010 20:00 volvox | skóre: 16
    Rozbalit Rozbalit vše Re: BASH a getopts
    Ano, takto by to šlo, řekl bych, že je to tak někde na půl cesty mezi použitím getopts a vlastním parsováním. Ale stejně si myslím, že to není dobrý nápad. getopts se používá na options, tj. volby/přepínače, vstupní parametry pro skript by se takto IMHO předávat neměly.

    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.