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 14:44 | Zajímavý software

    Brush (Bo(u)rn(e) RUsty SHell) je v Rustu napsaný shell kompatibilní s Bash (Bourne Again SHell). Vydána byla verze 0.4.0.

    Ladislav Hagara | Komentářů: 0
    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ářů: 30
    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
    Které desktopové prostředí na Linuxu používáte?
     (14%)
     (9%)
     (2%)
     (14%)
     (31%)
     (4%)
     (7%)
     (3%)
     (16%)
     (24%)
    Celkem 1487 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Dotaz: Vystup prikazu jakozto parametr jineho prikazu

    18.6.2014 14:27 Jiri463
    Vystup prikazu jakozto parametr jineho prikazu
    Přečteno: 191×
    Chci se zeptat zda existuje nejaky zpusob jak udelat nasledujici vec.

    do konzole na pisi: pwd vypise se mi: /home/user/

    Lze nejakym zpusobem vlozit vraceny string do jineho prikazu. Napr. pomoci nejake promene atd. Napr: cd $PROMENA_NAVRAT_HODNOTY

    Nebo se to da resit jeste nejak jinak? Zpusob: pwd | cd znam ale ten je omezujici v tom, ze predava pouze jeden parameter. Dik

    Odpovědi

    18.6.2014 16:10 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Vystup prikazu jakozto parametr jineho prikazu
    cd `pwd`
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    lobotron avatar 18.6.2014 16:12 lobotron | skóre: 5
    Rozbalit Rozbalit vše Re: Vystup prikazu jakozto parametr jineho prikazu
    Jestli jsem spravne pochopil dotaz, tak presne tohle delaji zpetne apostrofy. Pouziti napr:
    $ cd `pwd`
    Funguje to tak, ze se provede prikaz v apostrofech (pwd) a jeho vystup se "napise" misto toho, kde byly apostrofy a pak se provede zbytek. Nas konkretni priklad tedy neudela nic. (Zpetne apostrofy jsou na EN klavesnici vlevo vedle jednicky.)

    We must steer between the "romantics" and the "ostriches".
    lobotron avatar 18.6.2014 16:13 lobotron | skóre: 5
    Rozbalit Rozbalit vše Re: Vystup prikazu jakozto parametr jineho prikazu
    Sakra, jsem moc pomalej. :-)
    We must steer between the "romantics" and the "ostriches".
    18.6.2014 16:27 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: Vystup prikazu jakozto parametr jineho prikazu
    Zpusob: pwd | cd znam ale ten je omezujici v tom, ze predava pouze jeden parameter.

    Žádný takový způsob neexistuje. Zaprvé, nepředává se tady žádný parametr. Pouze se standardní výstup příkazu pwd přesměruje na standardní vstup příkazu cd. Jak správně říká manuálová stránka, příkaz cd standardní vstup ignoruje. Zachová se v tomto případě stejným způsobem, jakým se chová bez parametrů, tedy přepne se do domovského adresáře uživatele. Výstup z pwd se v tomto případě nepřečte a nijak nevyužije.

    Výstup nějakého příkazu se dá použít jako (obecně) několik parametrů stylem `příkaz` nebo $(příkaz). Druhý způsob má tu výhodu, že se dá zanořit v několika úrovních bez složitého escapování.

    Pokud má výstup z příkazu tvořit vždy pouze jeden parametr, i když obsahuje bílé místo, budou potřeba i uvozovky, tj. "`příkaz`" nebo "$(příkaz)".

    18.6.2014 16:40 soyo
    Rozbalit Rozbalit vše Re: Vystup prikazu jakozto parametr jineho prikazu
    Syntax $(prikaz) ma tu vyhodu, ze sa da vnarat. Napriklad hladanie domovskeho adresara skriptu, ktory je spusteny pomocou symbolickeho linku napr. v ~/bin:

    scriptHome="$(dirname "$(readlink -f "$0")")"

    Uvodzovky su len pre zvrhly pripad, ak by cesta obsahovala medzery.
    Jendа avatar 18.6.2014 16:55 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Vystup prikazu jakozto parametr jineho prikazu
    Vždyť to píše:
    Druhý způsob má tu výhodu, že se dá zanořit v několika úrovních bez složitého escapování.
    `` jde vnořovat taky, ale z těch \ se brzo zblázníš.

    < Jenda`_> AAA: Co je tohle za featuru shellu?
    < Jenda`_> ~/tmp> echo `echo "a++b"|sed -re "s/\+/\\\+/g"`
    < Jenda`_> a++b
    < Jenda`_> ~/tmp> echo $(echo "a++b"|sed -re "s/\+/\\\+/g")
    < Jenda`_> a\+\+b
    < Jenda`_> ~/tmp> echo "a\+\+b" > fil
    < Jenda`_> ~/tmp> echo `cat fil`
    < Jenda`_> a\+\+b
    < Jenda`_> magic
    < AAA> Jenda`_: to bude nejaka compatibility prasarna... nevim, to jsem snad jeste nepotkal
    < Jenda`_> Dělá to i v sh z busyboxu
    <@CCC> to je hnus teda
    < AAA> proc to nedela kdyz napisu rovnou /bin/echo "a+\+b" ?
    < AAA> to mi na tom prijde nejtajemnejsi
    < Jenda`_> Já bych si hlavně řekl - no budiž, `` to nějak divně interpretujou. Ale nechápu, proč je rozdíl mezi `echo` a `cat`
    < AAA> no asi ze stejneho duvodu jako proc nefunguje rovnou echo "a\+b"
    < Jenda`_> (pro rejpaly, je rozdíl i mezi `/bin/echo` a `cat`)
    < Jenda`_> ~> echo "a\+b"
    < Jenda`_> a\+b
    < Jenda`_> Co na tom nefunguje?
    <@BBB> http://themetapicture.com/the-best-way-to-recognize-the-artists-of-paintings
    < AAA> aha
    < AAA> uz to chapu
    < AAA> Jenda`_: spravne se totiz v `` pise sed -re "s/\+/\\\\\\\+/" :)
    < AAA> hledam citaci ve standardu
    < Jenda`_> ...
    <@BBB> When the old-style backquote form of substitution is used, backslash retains its literal meaning except when followed by  $, `,
    \.  The first backquote not preceded by a backslash terminates the command substitution.  When using the $(command) form, all characters between the pare
    up the command; none are treated specially.
    <@BBB> To pise manual ^
    < AAA> no, ve standardu (jak skorocituje stevko) to neni napsane uplne primocare, ale v zasade to vicemene musi byt naimplementovane ta
    po zacatku ` interpretujes vsechny \\ (a \$, \`) az po matching ` - to musis udelat, abys dokazal handlovat vnorene ``
    < Jenda`_> ` jdou vnořovat? :)
    < AAA> a tohle ze sed -re "s/\+/\\\\\\\+/"  udela sed -re "s/\+/\\\+/"
    <@BBB> takze tie \ v skripte pre sed ti zozerie bash este pred spustenim sedu !asi!.
    <@BBB> Command substitutions may be nested.  To nest when using the backquoted form, escape the inner backquotes with  backslashes.
    <@BBB> Jenda`_: idu ^
    < AAA> Jenda`_: ano... echo `echo \`echo \\\`echo brm\\\`\``
    < Jenda`_> Muaddib: sed -re "s/\+/\\\\\\\+/"
    < Muaddib> Jenda`_: Mluvis jako re re retard!
    <@BBB> v bashi sa neda rozumne programovat
    < AAA> Jenda`_: ale prave kuvli tem \ se to chova trochu neintuitivne, navic pocet \ u vnoreni roste exponencialne
    < AAA> Jenda`_: (jinak mne to samozrejme melo trknout hned, ale odhalil jsem to az pohledem do strace -f sh -c 'echo `echo "a+b"|sed -re "s/\+/\\\+/"`')
    
    (pseuonymizováno! :-))
    18.6.2014 16:47 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Vystup prikazu jakozto parametr jineho prikazu
    Naštěstí to tak nefunguje, jinak bych nemohl používat svůj oblíbený způsob kopírování dat
    tar cf - adresář | (cd cíl; tar xf -)
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    Jendа avatar 18.6.2014 16:57 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Vystup prikazu jakozto parametr jineho prikazu
    Nevidím spor s tím, co napsal Andrej. To, že cd standardní vstup nevyužije, znamená, že ho může využít další příkaz, v tomto případě tar xf. Btw. proč nekopíruješ cp -a?
    18.6.2014 17:17 randa
    Rozbalit Rozbalit vše Re: Vystup prikazu jakozto parametr jineho prikazu
    To by bylo složitější.

    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.