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:22 | Humor

    CreepyLink.com je nový zkracovač URL adres, 'díky kterému budou vaše odkazy vypadat tak podezřele, jak je to jen možné'. Například odkaz na abclinuxu.cz tento zkracovač převádí do podoby 'https://netflix.web-safe.link/logger_8oIlgs_free_money.php'. Dle prohlášení autora je CreepyLink alternativou ke zkracovači ShadyURL (repozitář na githubu), který dnes již bohužel není v provozu.

    NUKE GAZA! 🎆 | Komentářů: 2
    dnes 12:33 | IT novinky

    Na blogu Raspberry Pi byla představena rozšiřující deska Raspberry Pi AI HAT+ 2 s akcelerátorem Hailo-10 a 8 GB RAM. Na rozdíl od předchozí Raspberry Pi AI HAT+ podporuje generativní AI. Cena desky je 130 dolarů.

    Ladislav Hagara | Komentářů: 3
    dnes 12:11 | Komunita

    Wikipedie slaví 25. výročí svého založení. Vznikla 15. ledna 2001 jako doplňkový projekt k dnes již neexistující encyklopedii Nupedia. Doména wikipedia.org byla zaregistrována 12. ledna 2001. Zítra proběhne v Praze Večer svobodné kultury, který pořádá spolek Wikimedia ČR.

    Ladislav Hagara | Komentářů: 0
    dnes 04:44 | Nová verze

    Po více než dvou letech od vydání předchozí verze 2.12 byla vydána nová stabilní verze 2.14 systémového zavaděče GNU GRUB (GRand Unified Bootloader, Wikipedie). Přehled novinek v souboru NEWS a v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 2
    dnes 02:22 | Nová verze

    Google Chrome 144 byl prohlášen za stabilní. Nejnovější stabilní verze 144.0.7559.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 10 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře (YouTube).

    Ladislav Hagara | Komentářů: 4
    dnes 01:55 | Humor

    Microsoft zveřejnil zdrojový kód XAML Studia a uvolnil ho pod MIT licencí. XAML Studio je nástroj ze světa Windows, určený pro tvorbu uživatelského rozhraní aplikací pomocí XAML (Extensible Application Markup Language). Stalo se tak zhruba po osmi letech od prvního prohlášení Microsoftu, že se tento kód chystá zveřejnit.

    NUKE GAZA! 🎆 | Komentářů: 0
    dnes 01:44 | Zajímavý projekt

    TimeCapsule, 'časová kapsle', je jazykový model trénovaný výhradně na datech z určitých míst a časových období, aby se tak napodobila autentická slovní zásoba, způsob vyjadřování a názory dané doby. Na Hugging face jsou k dispozici modely natrénované na historických textech dostupných v oblasti Londýna mezi lety 1800 až 1875.

    NUKE GAZA! 🎆 | Komentářů: 6
    včera 17:55 | Nová verze

    Radicle byl vydán ve verzi 1.6.0 s kódovým jménem Amaryllis. Jedná se o distribuovanou alternativu k softwarům pro spolupráci jako např. GitLab.

    Ladislav Hagara | Komentářů: 0
    včera 13:22 | Upozornění

    Zemřel Scott Adams, tvůrce komiksových stripů Dilbert parodujících pracovní prostředí velké firmy.

    Ladislav Hagara | Komentářů: 4
    včera 13:00 | Nová verze

    Sdružení CZ.NIC vydalo novou verzi Knot Resolveru (6.1.0). Jedná se o první vydanou stabilní verzi 6, která je nyní oficiálně preferovanou a doporučovanou verzí, namísto předešlé verze 5. Více o Knot Resolveru 6 je možné se dočíst přímo v dokumentaci.

    VSladek | Komentářů: 3
    Které desktopové prostředí na Linuxu používáte?
     (14%)
     (4%)
     (0%)
     (8%)
     (19%)
     (3%)
     (6%)
     (3%)
     (11%)
     (44%)
    Celkem 447 hlasů
     Komentářů: 12, poslední včera 21:12
    Rozcestník

    Dotaz: Spouštění shell skriptu s parametrem.

    19.10.2016 18:19 paja
    Spouštění shell skriptu s parametrem.
    Přečteno: 576×
    Zdravím.

    Bych se chtěl zeptat.

    Da se shell skript spustit s parametry.

    Jde mi o toto.

    Mam shell skript třeba mujprogram.

    mujprogram -s 400

    Když spustí skript třeba takto, abych těch 400 dostal do proměnné ve skriptu.

    Řešení dotazu:


    Odpovědi

    19.10.2016 18:22 dustin | skóre: 63 | blog: dustin
    Rozbalit Rozbalit vše Re: Spouštění shell skriptu s parametrem.
    19.10.2016 20:40 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Spouštění shell skriptu s parametrem.
    Parametry dostanete v očíslovaných proměnných, takže ve vašem případě byste v proměnné $1 měl hodnotu -s a v proměnné $2 hodnotu 400. V proměnné $0 je pak příkaz, kterým byl ten skript spuštěn. Pokud chcete používat pojmenované parametry, existují pro to různé knihovny jako výše zmíněná getopt. Můžete si to samozřejmě rozparsovat sám z těch proměnných (ty knihovny nedělají nic jiného), akorát není úplně jednoduché pokrýt hlavně ty okrajové případy tak, aby se to chovalo, jak uživatel očekává.
    19.10.2016 20:43 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Spouštění shell skriptu s parametrem.
    getopt není knihovna.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    19.10.2016 21:07 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Spouštění shell skriptu s parametrem.
    Knihovny kódu mohou být implementovány různě. V případě shellu se jako knihovny nejsnáze používají různé utility, případně to mohou být funkce v importovaných skriptech.
    k3dAR avatar 19.10.2016 23:22 k3dAR | skóre: 63
    Rozbalit Rozbalit vše Re: Spouštění shell skriptu s parametrem.
    utilita != knihovna, utilita je samostatne fungujici program, knihovna je nejaka forma samostatne nefungujiciho doplnku, tak to plati od pocatku veku, takze to neokecas ani ty ;)
    porad nemam telo, ale uz mam hlavu... nobody
    20.10.2016 19:40 RM
    Rozbalit Rozbalit vše Re: Spouštění shell skriptu s parametrem.
    Pokud chcete používat pojmenované parametry, existují pro to různé knihovny jako výše zmíněná getop.

    program getopt nic takového nedělá. Jediné k čemu je getopt dobrý, je to, že vám umožní zadávat přepínače ve všech přípustných formách. To znamená, že krátké přepínače můžete namastit za sebe -xvf (myslím, že i bez pomlčky to funguje); dlouhé můžete psát i nekompletní a také si budete moct vybrat, jestli mezi přepínačem a argumentem přepínače použijete mezeru nebo rovnítko. -- Getopt z těchto (pa)tvarů udělá normání řetězec, kde budou všechny přepínače na začátku hezky rozdělené s celým názvem a s mezerou mezi argumentem a od argumentů pak oddělené znakem --. Takže něco jako cmd foo -xvf file bar --color=never 'tar 1' vám getopt upraví na cmd -x -v -f 'file' --color 'never' -- 'foo' 'bar' 'tar 1'. To je vše co getopt dělá. Getopt moc práci s argumenty neulehčí, spíš naopak. Další krok je totiž použití eval set a přepsání pozičních parametrů těmito novými a pak stejně nějaké rozdělení v cyklu s příkazem case. Pokud jde tazateli opravdu o tohle profi zpracování (většího množství) argumentů, pak mu doporučuji zhlédnout přednášku Lukáše Bařinky z loňského LinuxDays, kde je to vysvětleno.
    20.10.2016 16:02 Zaphod | skóre: 37 | blog: zaphod_blog
    Rozbalit Rozbalit vše Re: Spouštění shell skriptu s parametrem.
    Nedávno som to riešil - našiel som nasledujúci príklad:
    #!/bin/bash
    
    aopt=false
    bopt=false
    barg=""
    
    while getopts 'ab:' opt; do
      case "$opt" in
        a)
          aopt=true ;;
        b)
          bopt=true
          barg=$OPTARG ;;
      esac
    done
    
    if $aopt; then
      echo "Zadali jste přepínač -a"
    fi
    
    if $bopt; then
      echo "Zadali jste přepínač -b s argumentem $barg"
    fi
    
    shift $((OPTIND-1))
    
    Riadok:
    shift $((OPTIND-1))
    
    zabezpečí že argumenty ktoré nasledujú po prepínači začnú od $1 'ab:' - dvojbodka označuje prepínač s parametrom

    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.