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í
×
    včera 19:44 | IT novinky

    Samsung na akci Galaxy Unpacked July 2026 (YouTube) představil své nové telefony Galaxy Z Fold8 Ultra, Fold8 a Flip8, hodinky Galaxy Watch Ultra2 a Watch9 a chytré brýle ve spolupráci s Gentle Monster a Warby Parker.

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

    Po pěti letech vývoje vyšla česká počítačová hra Scarlet Deer Inn (ProtonDB). Scarlet Deer Inn je vyšívaná temná středověká pohádka. Zatímco život ve zdánlivě obyčejné vesnici se točí kolem běžných povinností a sousedských drbů, v podzemí se skrývají zlověstná tajemství.

    Ladislav Hagara | Komentářů: 2
    včera 13:33 | IT novinky

    Představen byl Raspberry Pi Touch Display 2 s uhlopříčkou 10 palců a rozlišením 1200 × 1920 pixelů. Cena je 80 dolarů.

    Ladislav Hagara | Komentářů: 1
    včera 13:22 | Komunita

    RPCS3 (Wikipedie), tj. open source emulátor Sony PlayStation 3, snížil minimální požadavky. Nově jsou podporovány starší grafické karty ATI Radeon řady HD 2000, 3000 a 4000 z let 2007 až 2009. Na PC běží už 75 % všech her pro PlayStation 3. V budoucnu bude RPCS3 fungovat bez firmwaru z PS3. V RPCS3 byl implementován systémový modul cellSysmodule (𝕏).

    Ladislav Hagara | Komentářů: 0
    včera 11:00 | Zajímavý software

    Vyšel open-source nástroj winetop (MIT) — nativní CLI/TUI pro sledování a ukončování Wine, Proton, Lutris, Heroic a Bottles sezení. Seskupuje procesy podle WINEPREFIX / Steam AppId, umí bezpečně zabít jen hru (včetně Steam reaperu) a nabízí i skriptovatelné příkazy (list, kill, orphans, …). Balíčky jsou mimo jiné na crates.io, Copru (dnf copr enable kovariadam/winetop), PPA ppa:kovariadam/winetop a AUR (winetop-bin).

    kovariadam | Komentářů: 0
    včera 02:44 | IT novinky

    Ve spolupráci společností OpenAI a Work Louder byla představena (𝕏) hardwarová klávesnice Codex Micro pro práci s AI agenty. Cena klávesnice je 230 dolarů.

    Ladislav Hagara | Komentářů: 1
    21.7. 20:00 | Nová verze

    Byl vydán Mozilla Firefox 153.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 153 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    21.7. 13:44 | Bezpečnostní upozornění Ladislav Hagara | Komentářů: 11
    21.7. 13:11 | Nová verze

    Byla vydána nová verze 5.44 programovacího jazyka Perl (Wikipedie). Do vývoje se zapojilo 71 vývojářů. Změněno bylo přibližně 270 tisíc řádků v 1 300 souborech. Přehled novinek a změn v podrobném seznamu.

    Ladislav Hagara | Komentářů: 0
    21.7. 12:33 | Pozvánky

    Na 23. září 2026 je do bratislavské Nové Cvernovky naplánovaná jednodenní konference #nobullshit.camp pro tech leadery, DevOps a platform inženýry. Mají tu zaznít upřímné příběhy z praxe o tom, co v produkčních systémech reálně fungovalo, co se pokazilo a co si z toho lidé odnesli. Témata pokrývají tři oblasti – DevOps a platformy (Kubernetes, cloud, provoz systémů), firemní kulturu a leadership. Program běží ve dvou formátech: hlavní

    … více »
    alian | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (7%)
     (2%)
     (17%)
     (30%)
     (5%)
     (6%)
     (2%)
     (15%)
     (24%)
    Celkem 2205 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    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: 586×
    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.