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

    Organizace Free Software Foundation Europe (FSFE) zrušila svůj účet na 𝕏 (Twitter) s odůvodněním: "To, co mělo být původně místem pro dialog a výměnu informací, se proměnilo v centralizovanou arénu nepřátelství, dezinformací a ziskem motivovaného řízení, což je daleko od ideálů svobody, za nimiž stojíme". FSFE je aktivní na Mastodonu.

    Ladislav Hagara | Komentářů: 9
    dnes 17:55 | IT novinky

    Paramount nabízí za celý Warner Bros. Discovery 30 USD na akcii, tj. celkově o 18 miliard USD více než nabízí Netflix. V hotovosti.

    Ladislav Hagara | Komentářů: 3
    dnes 13:22 | IT novinky

    Nájemný botnet Aisuru prolomil další "rekord". DDoS útok na Cloudflare dosáhl 29,7 Tbps. Aisuru je tvořený až čtyřmi miliony kompromitovaných zařízení.

    Ladislav Hagara | Komentářů: 3
    dnes 12:11 | Nová verze

    Iced, tj. multiplatformní GUI knihovna pro Rust, byla vydána ve verzi 0.14.0.

    Ladislav Hagara | Komentářů: 2
    dnes 05:22 | Komunita

    FEX, tj. open source emulátor umožňující spouštět aplikace pro x86 a x86_64 na architektuře ARM64, byl vydán ve verzi 2512. Před pár dny FEX oslavil sedmé narozeniny. Hlavní vývojář FEXu Ryan Houdek v oznámení poděkoval společnosti Valve za podporu. Pierre-Loup Griffais z Valve, jeden z architektů stojících za SteamOS a Steam Deckem, v rozhovoru pro The Verge potvrdil, že FEX je od svého vzniku sponzorován společností Valve.

    Ladislav Hagara | Komentářů: 0
    dnes 03:22 | Nová verze

    Byla vydána nová verze 2.24 svobodného video editoru Flowblade (GitHub, Wikipedie). Přehled novinek v poznámkách k vydání. Videoukázky funkcí Flowblade na Vimeu. Instalovat lze také z Flathubu.

    Ladislav Hagara | Komentářů: 0
    včera 15:11 | IT novinky

    Společnost Proton AG stojící za Proton Mailem a dalšími službami přidala do svého portfolia online tabulky Proton Sheets v Proton Drive.

    Ladislav Hagara | Komentářů: 5
    6.12. 15:55 | Komunita

    O víkendu (15:00 až 23:00) probíha EmacsConf 2025, tj. online konference vývojářů a uživatelů editoru GNU Emacs. Sledovat ji lze na stránkách konference. Záznamy budou k dispozici přímo z programu.

    Ladislav Hagara | Komentářů: 0
    6.12. 15:44 | Komunita

    Provozovatel internetové encyklopedie Wikipedia jedná s velkými technologickými firmami o uzavření dohod podobných té, kterou má s Googlem. Snaží se tak zpeněžit rostoucí závislost firem zabývajících se umělou inteligencí (AI) na svém obsahu. Firmy využívají volně dostupná data z Wikipedie k trénování jazykových modelů, což zvyšuje náklady, které musí nezisková organizace provozující Wikipedii sama nést. Automatické programy

    … více »
    Ladislav Hagara | Komentářů: 31
    6.12. 15:22 | IT novinky

    Evropská komise obvinila síť 𝕏 z porušení unijních pravidel, konkrétně nařízení Evropské unie o digitálních službách (DSA). Vyměřila jí za to pokutu 120 milionů eur (2,9 miliardy Kč). Pokuta je podle názoru amerického ministra zahraničí útokem zahraničních vlád na americký lid. K pokutě se vyjádřil i americký viceprezident: „EU by měla podporovat svobodu projevu, a ne útočit na americké společnosti kvůli nesmyslům“.

    Ladislav Hagara | Komentářů: 31
    Jaké řešení používáte k vývoji / práci?
     (34%)
     (48%)
     (19%)
     (17%)
     (22%)
     (15%)
     (24%)
     (16%)
     (18%)
    Celkem 443 hlasů
     Komentářů: 18, poslední 2.12. 18:34
    Rozcestník

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

    5.8.2012 14:56 Howard | skóre: 19
    Otevřít s -> něco - problém když jsou mezery v cestě
    Přečteno: 396×
    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?

    Řešení dotazu:


    Odpovědi

    Jendа avatar 5.8.2012 14:59 Jendа | skóre: 78 | blog: Jenda | 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)?
    5.8.2012 15:16 Howard | skóre: 19
    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ě.
    Jendа avatar 5.8.2012 15:22 Jendа | skóre: 78 | blog: Jenda | 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
    
    5.8.2012 16:01 Howard | skóre: 19
    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?
    pepe_ avatar 5.8.2012 17:19 pepe_ | skóre: 48
    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: 19
    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.
    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: 19
    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.
    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: 19
    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.
    Ř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: 19
    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.
    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: 78 | blog: Jenda | 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…
    pavlix avatar 6.8.2012 01:46 pavlix | skóre: 54 | 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.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    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: 54 | 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.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.

    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.