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

    Unicode Consortium, nezisková organizace koordinující rozvoj standardu Unicode, oznámila vydání Unicode 17.0. Přidáno bylo 4 803 nových znaků. Celkově jich je 159 801. Přibylo 7 nových Emoji.

    Ladislav Hagara | Komentářů: 0
    včera 21:00 | IT novinky Ladislav Hagara | Komentářů: 0
    včera 18:33 | Nová verze

    Realtimová strategie Warzone 2100 (Wikipedie) byla vydána ve verzi 4.6.0. Podrobný přehled novinek, změn a oprav v ChangeLogu na GitHubu. Nejnovější verzi Warzone 2100 lze již instalovat také ze Snapcraftu a Flathubu.

    Ladislav Hagara | Komentářů: 2
    včera 12:22 | IT novinky

    Polské vývojářské studio CD Projekt Red publikovalo na Printables.com 3D modely z počítačové hry Cyberpunk 2077.

    Ladislav Hagara | Komentářů: 0
    včera 11:44 | Pozvánky

    Organizátoři konference LinuxDays 2025 vydali program a zároveň otevřeli registrace. Akce se uskuteční 4. a 5. října na FIT ČVUT v pražských Dejvicích, kde vás čekají přednášky, workshopy, stánky a spousta šikovných lidí. Vstup na akci je zdarma.

    Petr Krčmář | Komentářů: 4
    8.9. 22:00 | IT novinky

    Uživatelé komunikátoru Signal si mohou svá data přímo v Signalu bezpečně zálohovat a v případě rozbití nebo ztráty telefonu následně na novém telefonu obnovit. Zálohování posledních 45 dnů je zdarma. Nad 45 dnů je zpoplatněno částkou 1,99 dolaru měsíčně.

    Ladislav Hagara | Komentářů: 0
    8.9. 18:44 | Zajímavý článek

    Server Groklaw, zaměřený na kauzy jako právní spory SCO týkající se Linuxu, skončil před 12 lety, resp. doména stále existuje, ale web obsahuje spam propagující hazardní hry. LWN.net proto v úvodníku připomíná důležitost zachovávání komunitních zdrojů a upozorňuje, že Internet Archive je také jen jeden.

    🇵🇸 | Komentářů: 7
    8.9. 14:22 | Nová verze

    Jakub Vrána vydal Adminer ve verzi 5.4.0: "Delší dobu se v Admineru neobjevila žádná závažná chyba, tak jsem nemusel vydávat novou verzi, až počet změn hodně nabobtnal."

    Ladislav Hagara | Komentářů: 2
    8.9. 13:22 | IT novinky

    V Německu slavnostně uvedli do provozu (en) nejrychlejší počítač v Evropě. Superpočítač Jupiter se nachází ve výzkumném ústavu v Jülichu na západě země, podle německého kancléře Friedricha Merze otevírá nové možnosti pro trénování modelů umělé inteligence (AI) i pro vědecké simulace. Superpočítač Jupiter je nejrychlejší v Evropě a čtvrtý nejrychlejší na světě (TOP500). „Chceme, aby se z Německa stal národ umělé inteligence,“ uvedl na

    … více »
    Ladislav Hagara | Komentářů: 18
    7.9. 04:11 | Komunita

    V Berlíně probíhá konference vývojářů a uživatelů desktopového prostředí KDE Plasma Akademy 2025. Při té příležitosti byla oznámena alfa verze nové linuxové distribuce KDE Linux.

    Ladislav Hagara | Komentářů: 1
    Pro otevření více webových stránek ve webovém prohlížečí používám
     (83%)
     (7%)
     (2%)
     (3%)
     (3%)
     (2%)
    Celkem 157 hlasů
     Komentářů: 11, poslední 4.9. 16:12
    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: 680×
    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: 45 | 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: 45 | 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: 45 | 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: 45 | 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: 45 | 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: 45 | 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: 45 | 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: 45 | 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: 45 | 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.