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 04:44 | Komunita

    Google zveřejnil seznam 1 141 projektů (vývojářů) od 184 organizací přijatých do letošního, již dvaadvacátého, Google Summer of Code. Přihlášeno bylo celkově 23 371 projektů od 15 245 vývojářů ze 131 zemí.

    Ladislav Hagara | Komentářů: 0
    dnes 03:00 | Komunita

    Na čem pracovali vývojáři GNOME a KDE Plasma minulý týden? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.

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

    Open source počítačová hra na hrdiny NetHack (Wikipedie, GitHub) byla vydána v nové verzi 5.0.0. První verze této hry byla vydána v roce 1987.

    Ladislav Hagara | Komentářů: 2
    1.5. 15:11 | IT novinky

    Evropská komise naléhavě vyzvala členské státy EU, aby kvůli ochraně nezletilých na internetu urychlily zavádění unijní aplikace pro ověřování věku a zajistily její dostupnost do konce roku. Členské státy mohou zavést aplikaci EU pro ověřování věku jako samostatnou aplikaci nebo ji integrovat do takzvané evropské peněženky digitální identity.

    Ladislav Hagara | Komentářů: 18
    30.4. 23:33 | Nová verze

    Richard Biener oznámil vydání verze 16.1 (16.1.0) kolekce kompilátorů pro různé programovací jazyky GCC (GNU Compiler Collection). Jedná se o první stabilní verzi řady 16. Přehled změn, nových vlastností a oprav a aktualizovaná dokumentace na stránkách projektu. Některé zdrojové kódy, které bylo možné přeložit s předchozími verzemi GCC, bude nutné upravit.

    Ladislav Hagara | Komentářů: 0
    30.4. 23:11 | Nová verze

    Zulip Server z open source komunikační platformy Zulip (Wikipedie, GitHub) byl vydán ve verzi 12.0. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    30.4. 12:11 | IT novinky

    Před 30 lety, tj. v úterý 30. dubna 1996, byl spuštěn Seznam.cz.

    Ladislav Hagara | Komentářů: 40
    30.4. 11:44 | Komunita

    Byly zpracovány a zveřejněny všechny videozáznamy, které stojí za zveřejnění, z konference FOSDEM 2026.

    Ladislav Hagara | Komentářů: 0
    30.4. 01:11 | IT novinky

    Od úterý 28. dubna musí nově uváděné notebooky v Evropské unii podporovat nabíjení přes USB-C. Jednotná nabíječka byla schválena Evropským parlamentem v říjnu 2022.

    Ladislav Hagara | Komentářů: 58
    29.4. 23:44 | Bezpečnostní upozornění

    Byly publikovány informace o kritické zranitelnosti CVE-2026-31431 pojmenované Copy Fail v Linuxu, konkrétně v kryptografii (AF_ALG). Běžný uživatel může získat práva roota (lokální eskalaci práv). Na všech distribucích Linuxu vydaných od roku 2017. Pomocí 732bajtového skriptu. V upstreamu je již opraveno. Zranitelnost byla nalezena pomocí AI Xint Code.

    Ladislav Hagara | Komentářů: 4
    Které desktopové prostředí na Linuxu používáte?
     (14%)
     (9%)
     (2%)
     (13%)
     (31%)
     (4%)
     (7%)
     (3%)
     (16%)
     (24%)
    Celkem 1485 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník
    Štítky: není přiřazen žádný štítek

    Dotaz: Jak poslat argument

    28.11.2017 19:05 dnes
    Jak poslat argument
    Přečteno: 710×
    Ahoj. když napíšu do terminálu ls, tak to vrátí na obrazovku nějaký text. Můžu výsledek poslat nějaké vlastní funkci jako argument (parametr), aniž bych ukládal nejprve výsledek do proměnné?

    Něco jako
    moje_funkce "$(ls)"
    Děkuji.

    Řešení dotazu:


    Odpovědi

    28.11.2017 19:14 NN
    Rozbalit Rozbalit vše Re: Jak poslat argument
    Jasne:
    function funkce { echo $1; }
    
    funkce "$(ls)"
    
    28.11.2017 19:33 dnes
    Rozbalit Rozbalit vše Re: Jak poslat argument
    Díky, omlouvám se, uvedl jsem zrovna příklad který funguje, uvedu jiný.
    function funkce() {
      echo $1
    }
    
    funkce "$(head -n 1 ~/VR/2017/"Nové požadavky"/"Stále Aktivní.txt")"
    Cesta i soubor existuje a mám do něj přístup.

    28.11.2017 19:52 NN
    Rozbalit Rozbalit vše Re: Jak poslat argument
    Tady je asi podstatne, ze nektere programy vypisuji vystup na stderr.
    28.11.2017 19:59 dnes
    Rozbalit Rozbalit vše Re: Jak poslat argument
    Díky, tohle ale taky nejde, nebo je to špatně?
    funkce "$(head -n 1 ~/VR/2017/"Nové požadavky"/"Stále Aktivní.txt" 2>&1)"
    28.11.2017 22:17 NN
    Rozbalit Rozbalit vše Re: Jak poslat argument
    V jakem to poustis shellu? V Bash to normalne funguje.
    28.11.2017 20:20 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Jak poslat argument
    Co tam pohledává ta vlnovka?

    Proč tam nemáš uvozovky kolem "$1"?
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    28.11.2017 21:04 dnes
    Rozbalit Rozbalit vše Re: Jak poslat argument
    vlnovka? no domovský adresář..

    ..$1 to je jedno, po první mezeru by to mělo něco i tak vypsat
    28.11.2017 21:44 mankind_boost | skóre: 7 | Hliněná chýše, 5482/3
    Rozbalit Rozbalit vše Re: Jak poslat argument
    Ani jedno z toho není problém.
    Jen skutečný mankind_boost je zárukou kvality.
    28.11.2017 19:23 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Jak poslat argument
    Zřejmě sis to ani nevyzkoušek, protože
    moje_funkce "$(ls)"
    normálně funguje.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    28.11.2017 20:28 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Jak poslat argument
    Možná by bylo jednodušší využít přesměrování
    function funkce() {
        cat
    }
    
    head -n 1 "$HOME/VR/2017/Nové požadavky/Stále Aktivní.txt" | funkce
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    28.11.2017 21:14 cronin | skóre: 49
    Rozbalit Rozbalit vše Re: Jak poslat argument
    Na tento demo príklad asi áno, reálna funkcia bude patrne robiť čosi iné.
    28.11.2017 22:01 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Jak poslat argument
    Reálná funkce může s těmi daty na STDIN dělat cokoliv. Klidně i uložit do proměnné po slovech do více promenných, což původní příklad nezvládá.

    Nakonec se třeba dopátráme k tomu, že se použije místo všeho jen jeden příkaz a bude vymalováno:
    read slovo1 slovo2 zbytek <"$HOME/VR/2017/Nové požadavky/Stále Aktivní.txt"
    Osobně bych se asi vykašlal na head a vlastní funkci předal jako parametr název toho souboru, ať si ta funkce vybere data, která potřebuje.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    28.11.2017 22:12 dnes
    Rozbalit Rozbalit vše Re: Jak poslat argument
    Uložit do proměnné a vypsat echem to jde, tak nechápu, proč ten string nejde předat jako parametr.
    28.11.2017 22:41 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Jak poslat argument
    Protože něco děláš jinak, než jak popisuješ. Možná používáš v konzoli bash, ale skript spouštíš v sh.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    28.11.2017 23:02 dnes
    Rozbalit Rozbalit vše Re: Jak poslat argument
    V souboru mám
    #!/bin/bash
    a spouštím to napsáním do terminálu přesně takto
    /opt/requirements/main
    Je to správně?

    Jinak jsem zjistil následující věc
    var="$(head -n 1 ~/VR/2017/"Nové požadavky"/"Stále Aktivní.txt")"
    
    echo "aaa"
    echo "-$var-"
    echo "bbb"
    
    A výsledek je
    aaa
     -Požadavky na vyřízení : 6
    bbb
    
    Chybí na konci pomlčka, zkoušeno s různým textem a vždy pomlčka chybí a taky se přidá nějaká mezera na začátku řádku před pomlčku.

    Napadá tě prosím proč?
    28.11.2017 23:18 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Jak poslat argument
    Spouštění vypadá OK, i když ta cesta vypadá docela atypicky. Raději bych dal takovou, která je v $PATH, jinak je to opruz.

    Součástí toho stringu je i LF na konci, který tam nejspíš dělá neplechu. Pořád ještě nechceš místo příkazu head použít read nebo alespoň sed?

    Začínám mít tušení, že tě zajímá jen ta šestka na konci. To by bylo docela smutné.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    28.11.2017 23:47 dnes
    Rozbalit Rozbalit vše Re: Jak poslat argument
    read jsem taky zkoušel, výsledek byl stejný. Ještě mě napadlo s tím LF jak jsi psal, změnil jsem soubor na LF a už to funguje. Díky za pomoc! Jinak jak se spouští sh?
    29.11.2017 00:31 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Jak poslat argument
    Takže na vině bylo DOSové zakončení řádek v souboru? Na to se dá přijít příkazem hexdump.

    Pokud chceš jiný interpretr, na začátek skriptu dáš např.
    #!/bin/sh
    a tím dojde k přepnutí na sh. Často se používá i #!/usr/bin/env, který toho umí víc s přesměrováním.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    29.11.2017 14:13 dnes
    Rozbalit Rozbalit vše Re: Jak poslat argument
    Ano, přesně jak píšeš, bylo nastaveno zakončení řádku pro DOS. Na ten hexdump se mrknu. Jinak ještě jednou díky i za to info..
    29.11.2017 00:56 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Jak poslat argument
    K čemu je vlastně dobré znát počet požadavků na vyřízení, když skutečný počet může být třeba 4 nebo 7? Není lepší je prostě brát ze seznamu (adresáře) po jednom, dokud není seznam (adresář) prázdný?
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    29.11.2017 14:15 dnes
    Rozbalit Rozbalit vše Re: Jak poslat argument
    Má to jenom informativní charakter, načte, předá funkci a send to email.. Jde o to, že jeden požadavek trvá hodinu, někdy 10 hodin a někdy > 3 dny.
    Josef Kufner avatar 29.11.2017 02:22 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Jak poslat argument
    Mám takové tušení, že se snažíš o něco, co by buď šlo řešit úplně jinak, nebo by to šlo řešit mnohem snadněji v něčem jiném než v bashi. Na netriviální věci doporučuju sáhnout třeba po Pythonu. Bash je navržený pro interaktivní používání a na nic moc jiného se příliš nehodí.
    Hello world ! Segmentation fault (core dumped)
    29.11.2017 14:24 dnes
    Rozbalit Rozbalit vše Re: Jak poslat argument
    Vždy to jde udělat jinak a "vždy" to jde udělat líp, je to otázka času a znalostí. Bash mám rád, nevím proč ale zatím jsem v tom udělal vždy všechno, něco znám, většinou velkou část dohledám a když už to fakt nejde, tak se prostě zeptám.

    Python je otřesný jazyk, nikdy více.. jinak svůj jazyk pro linux stále hledám... ale to už říkám 15 let a vždy skončím u bashe :-D
    Chytrex avatar 29.11.2017 14:46 Chytrex | skóre: 30 | Bohumín
    Rozbalit Rozbalit vše Re: Jak poslat argument
    S tím pythonem souhlas.. tak nějak jsme se nezkamarádili.. ale zkus ruby, není dokonalý, ale uměl jsem s tím za chvíli.
    Hrdý člen KERNEL ULTRAS .:. define QUESTION ((bb) || !(bb)) .:. Odmítám vaši realitu a nahrazuji ji svou vlastní..
    29.11.2017 17:18 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Jak poslat argument
    Python nesedne každému a nehodí se na všechny typy úloh.

    Pro uvedený účel by ten Bash mohl být vyhovující. Něco podobného jsem si kdysi napsal v Bashi na jednom krátkém řádku a nepotřeboval jsem k tomu ani vlastní funkce.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    29.11.2017 18:40 pavele
    Rozbalit Rozbalit vše Re: Jak poslat argument
    Když jsem potřeboval udělat jednoduché grafické rozhraní, použil jsem Python. Pro mne bylo nejjednodušší se jej trochu naučit a napsat v Bashi skript, který volal jednotlivé části programu (další skripty), napsané v Pythonu pro GUI, awk a sed a bash pro vyhodnocování a Gnuplot pro zobrazení.

    Postupem času se mi to jeví jako dobré rozhodnutí, vše mohu bez problémů upravovat/opravovat a vyznám se v tom i po 10 letech...

    Takže Python ano.

    Ovšem za obrovskou výhodu linuxu považuji také to, že si každý může zvolit, co mu "sedí".

    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.