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 02:20 | Zajímavý článek

David Revoy, autor open source webového komiksu Pepper&Carrot nebo portrétu GNU/Linuxu, upozorňuje na svém blogu, že nový Inkscape 0.92 rozbíjí dokumenty vytvořené v předchozích verzích Inkscape. Problém by měl být vyřešen v Inkscape 0.92.2 [reddit].

Ladislav Hagara | Komentářů: 0
dnes 02:02 | Komunita

Øyvind Kolås, hlavní vývojář grafických knihoven GEGL a babl, které využívá grafický program GIMP, žádá o podporu na Patreonu. Díky ní bude moci pracovat na vývoji na plný úvazek. Milník 1000 $, který by stačil na holé přežití, se již téměř podařilo vybrat, dalším cílem je dosažení 2500 $, které mu umožní běžně fungovat ve společnosti.

xkomczax | Komentářů: 12
včera 23:54 | Pozvánky

DevConf.cz 2017, již devátý ročník jedné z největších akcí zaměřených na Linux a open source ve střední Evropě, proběhne od pátku 27. ledna do neděle 29. ledna v prostorách Fakulty informačních technologií Vysokého učení technického v Brně. Na programu je celá řada zajímavých přednášek a workshopů. Letos je povinná registrace.

Ladislav Hagara | Komentářů: 0
včera 22:11 | Nová verze

Byla vydána verze 1.0.0 emulátoru terminálu Terminology postaveného nad EFL (Enlightenment Foundation Libraries). Přehled novinek v poznámkách k vydání.

Ladislav Hagara | Komentářů: 0
20.1. 17:00 | Nová verze

Byl vydán Docker 1.13. Přehled novinek na YouTube a v poznámkách k vydání na GitHubu. Docker umožňuje běh aplikací v softwarových kontejnerech (Wikipedia).

Ladislav Hagara | Komentářů: 4
20.1. 15:51 | Komunita

Mozilla.cz informuje, že nástroje pro webové vývojáře se možná oddělí od Firefoxu a stanou doplňkem. Nástroje pro webové vývojáře prošly velkým přepisem a tým, který se stará o jejich vývoj, by uvítal možnost jejich častějších aktualizacích nezávisle na vydávání nových verzí Firefoxu.

Ladislav Hagara | Komentářů: 10
20.1. 07:00 | Humor

Čtenářům AbcLinuxu vše nejlepší k dnešnímu Dni zvýšení povědomí o tučňácích (Penguin Awareness Day).

Ladislav Hagara | Komentářů: 0
20.1. 06:00 | Komunita

Bylo spuštěno hlasování o přednáškách a workshopech pro letošní InstallFest, jenž proběhne o víkendu 4. a 5. března v Praze. Současně byla oznámena změna místa. InstallFest se letos vrací zpět na Karlovo náměstí do budovy E.

Ladislav Hagara | Komentářů: 0
20.1. 02:48 | Komunita

Greg Kroah-Hartman potvrdil, že Linux 4.9 je jádrem s prodlouženou upstream podporou (LTS, Long Term Support). Podpora je plánována do ledna 2019. Aktuální jádra s prodlouženou podporou jsou tedy 3.2, 3.4, 3.10, 3.12, 3.16, 3.18, 4.1, 4.4 a 4.9.

Ladislav Hagara | Komentářů: 0
20.1. 00:11 | Zajímavý článek

Výrobce síťových prvků, společnost Netgear, spustila nový program, který slibuje vývojářům, expertům, ale i běžným uživatelům vyplacení finanční odměny za nalezení bezpečnostních chyby v jejich produktech. Za nalezení zranitelnosti v hardware, API nebo mobilní aplikaci nabízí odměnu od 150 do 15 tisíc dolarů (dle závažnosti).

Michal Makovec | Komentářů: 0
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (10%)
 (2%)
 (74%)
 (3%)
 (10%)
Celkem 362 hlasů
 Komentářů: 25, poslední včera 13:34
Rozcestník
Reklama

Dotaz: Bash: Predavanie parametrov s medzerou

3.12.2007 17:11 Semo | skóre: 44 | blog: Semo
Bash: Predavanie parametrov s medzerou
Přečteno: 241×
Mam problem. V bashi si poskladam zo vstupov premennu so vsetkymi parametrami, ktore potrebujem predat shellovej funkcii a potom zavolam tuto funkciu. Problem vsak nastava, ak niektory parameter obsahujem medzeru. V tom pripade to funkcia vyhodnoti, ze dostala 2 parametre a nie 1 s medzerou. Skusal som to vsemozne balit do "", ale nedari sa. Ako to obist?

Priklad:
#!/bin/bash

funkcia() {
    echo $#
}

# akoze vstupy
a="aaa aaa"
b="bbb bbb"

args="$a $b"
funkcia "$args"
funkcia $args

args="\"$a\" \"$b\""
funkcia "$args"
funkcia $args
Vystup je:
1
4
1
4
Ja chcem, aby bol vystup 2.
If you hold a Unix shell up to your ear, you can you hear the C.

Odpovědi

David Watzke avatar 3.12.2007 17:40 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Bash: Predavanie parametrov s medzerou
Prostě spusť
funkcia "$a" "$b"
Jinak mě napadá jedině
args="\"$a\" \"$b\""
eval funkcia $args
což bych asi nedoporučoval (na takovou blbost je to zbytečný).
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
3.12.2007 18:52 Semo | skóre: 44 | blog: Semo
Rozbalit Rozbalit vše Re: Bash: Predavanie parametrov s medzerou
Super, to s tym evalom robi to co potrebujem. Skusal som aj eval, ale nie v takomto pouziti (snazil som sa pomocou evalu expandovat iba parametre, nie cele volanie).

Vilanie funkcia "$a" "$b" nie je rieseniem, pretoze ja dopredu neviem, kolko mi pride tych vstupov. Povedzme, ze mam skript, ktory nejaky typ parametra akceptuje viackrat (./skript -c "aaa bbb" -x 2 -c "ccc ddd" -c "eee fff"). Vo vnutri tohoto skriptu chcem zavolat funkciu a ako argumenty jej chcem dat vsetky parametre typu c. Takze chcem zavolat funkcia "aaa bbb" "ccc ddd" "eee fff". A nevedel som ako to zavolat, aby funkcii prisli 3 dvojslovne argumenty a nie 6 jednoslovnych, pripadne 6 argumentov tvaru:
"aaa
bbb"
"ccc
ddd"
"eee
fff"
Kde znaky "" neodfiltruje bash, ale stali sa sucastou parametrov.

No, to eval funguje, tak to dalej neriesim.

Este som, po tejto inspiracii prisiel na dalsiu moznost, ideovo rovnaku:
args="${a// /\ } ${b// /\ }"
eval funkcia $args
If you hold a Unix shell up to your ear, you can you hear the C.
3.12.2007 17:53 Aleš Kapica | skóre: 45 | blog: kenyho_stesky | Ostrava
Rozbalit Rozbalit vše Re: Bash: Predavanie parametrov s medzerou
Nějak jsem nepochopil čeho vlastně chceš dosáhnout. Pokud totiž chci předat nějakou proměnnou co obsahuje mezeru, tak ji obvykle zavřu do závorek.
prikaz "$Promenna"
A vůbec, ten tvůj podaný příklad je pěkně na houby..
3.12.2007 19:14 shshsh
Rozbalit Rozbalit vše Re: Bash: Predavanie parametrov s medzerou
Hm. Onehdy nekdo nalinkoval na IRC takovou silenost. Nekdo se asi dost nudil (a kdyz jsem ani po pul hodine nepochopil, co to dela, tak jsem si to zabookmarkoval, ze se na to nekdy musim znova podivat). Treba Ti to pomuze. Jinak o quotovani zde. Je taky mozne, ze jsem jen nepochopil dotaz. ;-)

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.