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

Po 10 týdnech vývoje od vydání Linuxu 4.9 (zprávička) oznámil Linus Torvalds, mj. již 20 let žijící v USA, vydání Linuxu 4.10 (LKML). Přehled nových vlastností a vylepšení například na Kernel Newbies a v Jaderných novinách (1, 2 a 3). Kódové jméno Linuxu 4.10 je Fearless Coyote.

Ladislav Hagara | Komentářů: 0
včera 15:55 | Zajímavý projekt

Vyzkoušet si příkazy a vyřešit několik úkolů lze na stránkách Commandline Challenge (CMD Challenge). Úkoly lze řešit různými způsoby, důležitý je výsledek. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

Ladislav Hagara | Komentářů: 10
18.2. 17:35 | Bezpečnostní upozornění

Německá Bundesnetzagentur (obdoba českého ČTU) zakázala na německém území prodej panenky Cayla kvůli „špionáži“ dětí. Tato elektronická hračka obsahuje mikrofon, reproduktor a kameru a bezdrátové komunikační rozhraní, pomocí kterého se hračka připojuje na servery výrobce. Takovýmto způsobem může hračka pomocí umělé inteligence „odpovídat“ na dotazy dítěte. Hlavní problém bude ale asi někde jinde, podle prvotních zpráv může

… více »
Petr Tomášek | Komentářů: 26
17.2. 15:30 | Bezpečnostní upozornění

CSIRT.CZ upozorňuje, že bezpečnostní experti objevili nový typ malwaru, jenž cílí na open source e-commerce platformu Magento. Malware je zajímavý tím, že se jedná o první svého druhu, jehož kód zůstává skrytý v SQL databázi zasaženého e-shopu. Škodlivý kód je volán pomocí tzv. SQL trigerru, který je spouštěn při každém vytvoření objednávky v systému.

Ladislav Hagara | Komentářů: 2
17.2. 09:00 | Nová verze

Bylo vydáno Ubuntu 16.04.2 LTS, tj. druhé opravné vydání Ubuntu 16.04 LTS s kódovým názvem Xenial Xerus. Přehled novinek v poznámkách k vydání a v přehledu změn.

Ladislav Hagara | Komentářů: 50
17.2. 06:00 | Zajímavý článek

Pavel Tišnovský se v dvoudílném článku na MojeFedora.cz věnuje tvorbě pluginů (modulů) pro bitmapový grafický editor GIMP. Pomocí pluginů lze GIMP rozšiřovat o další funkce. Implementovat lze například nové filtry nebo pomocné utility pro tvorbu animací či poloautomatickou retuš snímků.

Ladislav Hagara | Komentářů: 6
16.2. 23:32 | Komunita

Do 30. března se lze přihlásit do dalšího kola programu Outreachy, jehož cílem je přitáhnout do světa svobodného a otevřeného softwaru lidi ze skupin, jež jsou ve světě svobodného a otevřeného softwaru málo zastoupeny. Za 3 měsíce práce, od 30. května do 30. srpna 2017, v participujících organizacích lze vydělat 5 500 USD. Jedná se již o 14. kolo tohoto programu.

Ladislav Hagara | Komentářů: 11
16.2. 23:13 | Nová verze

Byla vydána verze 0.92.1 svobodného multiplatformního vektorového grafického editoru Inkscape. Přehled novinek v poznámkách k vydání. Řešen je mimo jiné problém s verzí 0.92, jež rozbíjí dokumenty vytvořené v předchozích verzích Inkscape. Více v příspěvku na blogu Davida Revoye, autora open source webového komiksu Pepper&Carrot nebo portrétu GNU/Linuxu.

Ladislav Hagara | Komentářů: 0
16.2. 16:26 | Bezpečnostní upozornění

Byla vydána verze 1.1.0e kryptografické knihovny OpenSSL. Dle bezpečnostního upozornění 20170216 byla opravena závažná bezpečnostní chyba CVE-2017-3733.

Ladislav Hagara | Komentářů: 1
16.2. 13:03 | Pozvánky

GNOME hackaton proběhne v Brně na FIT VUT v Red Hat Labu (budova Q) v pondělí 20. února od 15:00. Registrace není nutná, ale pokud dáte na FaceBooku vědět, že plánujete dorazit, pomůže to s plánováním.

Ladislav Hagara | Komentářů: 0
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (13%)
 (2%)
 (72%)
 (3%)
 (10%)
Celkem 659 hlasů
 Komentářů: 52, poslední 13.2. 12:45
Rozcestník
Reklama

Dotaz: Otevřít s -> něco - problém když jsou mezery v cestě

5.8.2012 14:56 Howard | skóre: 17
Otevřít s -> něco - problém když jsou mezery v cestě
Přečteno: 287×
Tento problém neumím přesně pojmenovat, proto se mi ani za hodinu nepovedlo vygooglit řešení, ale určitě to už musel někdo řešit.
Dělal jsem si skript na přimountování ISO souborů, abych mohl v Krusaderu kliknout pravým na ISO soubor, dát Otevřít s -> mount_iso a bylo by to. Problém je v tom, když v cestě jsou mezery!

Takže jsem udělal soubor /usr/bin/mount_iso s obsahem:
kdesu mount -t iso9660 -o loop $1 /mnt/iso

Pak jsem kliknul pravým na ISO soubor, dal Otevřít s -> zadal tam mount_iso a zaškrtnul, že ho má použít vždy. Když takhle otevřu ISO soubor bez mezer v cestě, vyskočí okýnku na zadání hesla roota, zadám ho a pak už je ISO přimountované. Tohle funguje fajn, dokud v cestě nejsou mezery.

Když dám, aby to spustil v terminálu, vypíše to takovouhle chybu:

Upozornění: Nepovedlo se spustit program '/usr/bin/mount_iso' s argumenty '/usr/bin/mount_iso /data/download/a b/gparted-live-0.13.0-1.iso'.

Je to logické, že to nefunguje, já bych potřeboval, aby buď oescapoval mezery, nebo aby to hodil celé do uvozovek - to by přece defaultně mohl dělat, ne? Dávat do uvozovek $1 v mém skriptu mount_iso nepomůže, tohle se děje o úroveň výš.

Takže co s tím?
openSUSE 13.1

Řešení dotazu:


Odpovědi

Jendа avatar 5.8.2012 14:59 Jendа | skóre: 73 | blog: Výlevníček | JO70FB
Rozbalit Rozbalit vše Re: Otevřít s -> něco - problém když jsou mezery v cestě
Tak když tu cestu neumí předat, co dát ve skriptu "$*" (i s uvozovkama)?
Vox agroferti, vox Dei.
5.8.2012 15:16 Howard | skóre: 17
Rozbalit Rozbalit vše Re: Otevřít s -> něco - problém když jsou mezery v cestě
To nepomůže, on totiž už ten skript mount_iso spouští blbě.
openSUSE 13.1
Jendа avatar 5.8.2012 15:22 Jendа | skóre: 73 | blog: Výlevníček | JO70FB
Rozbalit Rozbalit vše Re: Otevřít s -> něco - problém když jsou mezery v cestě
No ale ty bys měl být schopen to blbé spouštění (rozsekání parametrů podle mezer) tímto opravit.
~/tmp> cat test.sh 
#!/bin/bash
foo () {
  echo "$1"
}

foo "$*"
~/tmp> ./test.sh debilně rozsekaná PATH ťaťava vankúše paplón
debilně rozsekaná PATH ťaťava vankúše paplón
Vox agroferti, vox Dei.
5.8.2012 16:01 Howard | skóre: 17
Rozbalit Rozbalit vše Re: Otevřít s -> něco - problém když jsou mezery v cestě
Aha, už chápu, dík moc, takže obsah skriptu mount_iso je následující:

kdesu mount -t iso9660 -o loop "$*" /mnt/iso

Ale teda donutit ho, aby ten skript spoustel s parametrem v uvozovkach, tedy nejde?
openSUSE 13.1
pepe_ avatar 5.8.2012 17:19 pepe_ | skóre: 47
Rozbalit Rozbalit vše Re: Otevřít s -> něco - problém když jsou mezery v cestě

cesta="$*"

kdesu mount -t iso9660 -o loop $cesta /mnt/iso


5.8.2012 17:25 Howard | skóre: 17
Rozbalit Rozbalit vše Re: Otevřít s -> něco - problém když jsou mezery v cestě
To je to samé. Jak sem psal, problém je v tom spouštění mého skriptu mount_iso, že on tam ten první parametr nedá do uvozovek.
openSUSE 13.1
5.8.2012 16:56 l4m4
Rozbalit Rozbalit vše Re: Otevřít s -> něco - problém když jsou mezery v cestě
Nepoužívám KDE. Nicméně, pokud se v Krusaderu zadává pouze název programu, tak máš smůlu. Pokud se zadává celý příkaz, tak je to velmi pravděpodobně šablona, kam lze napsat, kde a jak se má doplnit název souboru -- a ten je pak zapotřebí ouvozovkovat.

No, a samozřejmě nepoužívat mezery v názvech souborů...
5.8.2012 17:27 Howard | skóre: 17
Rozbalit Rozbalit vše Re: Otevřít s -> něco - problém když jsou mezery v cestě
Není to problém Krusaderu, teď jsem to zkoušel z Dolphinu. Je to problém v tom kontextovém menu [b]Otevřít s[/b].

No a nepoužívat mezery? Sorry, ale to fakt není dobrá rada, nevím proč samozřejmě, to jsem dělal možná před 15 lety v DOSu, systém se musí s mezerama korektně poprat.
openSUSE 13.1
5.8.2012 17:49 l4m4
Rozbalit Rozbalit vše Re: Otevřít s -> něco - problém když jsou mezery v cestě
Sorry, ale systém nemusí nic. Až se ti podaří vyrobit modul Pythonu, jehož název obsahuje mezeru, ale přitom je to pořád platný identifikátor Pythonu, tak se rád poučím...

Jinak znovu totéž a pořád dokola, když to ignoruješ: Pokud se někde zadává pouze název programu, a přitom se to zbytečně spouští přes shell (namísto execve), tak je to idiotisky implementováno a stěžuj si autorům, ale s mezerami máš smůlu, konec, tečka, sbohem, udělej si symlink. Pokud se zadává vzor příkazu, tak musíš ten vzor správně napsat, tj. s explicitním použitím jména otevíraného souboru v tom vzoru. Jiné možnosti v podstatě nejsou, jestli je to v programu A nebo B, je irelevantní.
5.8.2012 18:09 Howard | skóre: 17
Rozbalit Rozbalit vše Re: Otevřít s -> něco - problém když jsou mezery v cestě
Co to má co dělat s Pythonem, nechápu, ale to je asi jedno. Fakt nechápu, proč píšeš příspěvek tímto útočným stylem, samozřejmě děkuji za jeho významový obsah, ale tímhle stylem já fakt diskutovat nechci.
openSUSE 13.1
Řešení 1× (LangPa)
LangPa avatar 5.8.2012 23:14 LangPa | skóre: 12 | blog: LangPavel | Hradec Králové
Rozbalit Rozbalit vše Re: Otevřít s -> něco - problém když jsou mezery v cestě
Prosté uvozovky:
kdesu mount -t iso9660 -o loop $1 /mnt/iso
->
kdesu mount -t iso9660 -o loop "$1" /mnt/iso
6.8.2012 00:02 Howard | skóre: 17
Rozbalit Rozbalit vše Re: Otevřít s -> něco - problém když jsou mezery v cestě
To právě nestačí, jak už jsem psal, problém je "o patro výše". Zkusím znovu popsat přehledněji:

Mějme soubor /tmp/aa bb cc/gparted-live-0.13.0-3.iso

Kliknu na něj pravým, dám Otevřít s -> mount_iso
Systém spustí takovýhle příkaz:
/usr/bin/mount_iso /tmp/aa bb cc/gparted-live-0.13.0-3.iso

Takže ve skriptu mount_iso v $1 je logicky pouze část cesty do první mezery: /tmp/aa

Já potřebuju, aby vše bylo zcela korektní, aby systém spouštěl takovýhle příkaz:
/usr/bin/mount_iso "/tmp/aa bb cc/gparted-live-0.13.0-3.iso"

Pakliže filesystém podporuje mezery v názvech, měly by tam ty uvozovky být pro všechny případy.

Řešení s "$*" je sice funkční, ale je to spíš takový workaround.
openSUSE 13.1
6.8.2012 01:06 chrono
Rozbalit Rozbalit vše Re: Otevřít s -> něco - problém když jsou mezery v cestě
Skúšal si tam použiť mount_iso "%f"?
6.8.2012 01:11 chrono
Rozbalit Rozbalit vše Re: Otevřít s -> něco - problém když jsou mezery v cestě
Tie úvodzovky okolo %f sú tam pravdepodobne zbytočné (ale nemali by vadiť).
Jendа avatar 6.8.2012 03:34 Jendа | skóre: 73 | blog: Výlevníček | JO70FB
Rozbalit Rozbalit vše Re: Otevřít s -> něco - problém když jsou mezery v cestě
Vzhledem k tomu, že v $1 je pořád jenom první část cesty, tak ať to budeš uvozovkovat libovolně, nic s tím jaksi nemáš šanci udělat. Je to napsané v dotazu…
Vox agroferti, vox Dei.
pavlix avatar 6.8.2012 01:46 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Otevřít s -> něco - problém když jsou mezery v cestě
kdesu mount -t iso9660 -o loop $1 /mnt/iso
V perdéli, řek bych :).
Je to logické, že to nefunguje, já bych potřeboval, aby buď oescapoval mezery, nebo aby to hodil celé do uvozovek - to by přece defaultně mohl dělat, ne?
Není to logické. Je to špatně a stojí to za nahlášení chyby. Klidně sem pak do komentáře postni odkaz na tu chybu. KDE sice nepoužívám, ale tento typ chyb je společný všem prostředím.

Volání exec žádné escapování nezná, takže pokud se GUI program není schopný vyrovnat s obyčejnými mezerami, je třeba ho upravit tak, aby název posílal vždy jako celistvý argument.
6.8.2012 02:01 chrono
Rozbalit Rozbalit vše Re: Otevřít s -> něco - problém když jsou mezery v cestě
Ten problém určite nie je spoločný všetkým prostrediam (napr. už KDE3 si s tým poradilo bez problémov, stačilo tam pridať správny parameter).
pavlix avatar 6.8.2012 02:03 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Otevřít s -> něco - problém když jsou mezery v cestě
Ne ten problém, ale ten typ problému.

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.