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:11 | IT novinky

    Řada vestavěných počítačových desek a vývojových platforem NVIDIA Jetson se rozrostla o NVIDIA Jetson Thor. Ve srovnání se svým předchůdcem NVIDIA Jetson Orin nabízí 7,5krát vyšší výpočetní výkon umělé inteligence a 3,5krát vyšší energetickou účinnost. Softwarový stack NVIDIA JetPack 7 je založen na Ubuntu 24.04 LTS.

    Ladislav Hagara | Komentářů: 1
    dnes 00:44 | Bezpečnostní upozornění

    Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) spolu s NSA a dalšími americkými úřady upozorňuje (en) na čínského aktéra Salt Typhoon, který kompromituje sítě po celém světě.

    Ladislav Hagara | Komentářů: 14
    včera 16:33 | IT novinky

    Společnost Framework Computer představila (YouTube) nový výkonnější Framework Laptop 16. Rozhodnou se lze například pro procesor Ryzen AI 9 HX 370 a grafickou kartu NVIDIA GeForce RTX 5070.

    Ladislav Hagara | Komentářů: 1
    včera 14:22 | IT novinky

    Google oznamuje, že na „certifikovaných“ zařízeních s Androidem omezí instalaci aplikací (včetně „sideloadingu“) tak, že bude vyžadovat, aby aplikace byly podepsány centrálně registrovanými vývojáři s ověřenou identitou. Tato politika bude implementována během roku 2026 ve vybraných zemích (jihovýchodní Asie, Brazílie) a od roku 2027 celosvětově.

    Fluttershy, yay! | Komentářů: 7
    včera 13:11 | Nová verze

    Byla vydána nová verze 21.1.0, tj. první stabilní verze z nové řady 21.1.x, překladačové infrastruktury LLVM (Wikipedie). Přehled novinek v poznámkách k vydání: LLVM, Clang, LLD, Extra Clang Tools a Libc++.

    Ladislav Hagara | Komentářů: 0
    včera 05:11 | Komunita

    Alyssa Anne Rosenzweig v příspěvku na svém blogu oznámila, že opustila Asahi Linux a nastoupila do Intelu. Místo Apple M1 a M2 se bude věnovat architektuře Intel Xe-HPG.

    Ladislav Hagara | Komentářů: 17
    26.8. 12:55 | IT novinky

    EU chce (pořád) skenovat soukromé zprávy a fotografie. Návrh "Chat Control" by nařídil skenování všech soukromých digitálních komunikací, včetně šifrovaných zpráv a fotografií.

    Ladislav Hagara | Komentářů: 59
    26.8. 12:11 | Nová verze

    Byly publikovány fotografie a všechny videozáznamy z Python konference PyCon US 2025 proběhlé v květnu.

    Ladislav Hagara | Komentářů: 0
    26.8. 11:55 | IT novinky

    Společnost xAI a sociální síť X amerického miliardáře Elona Muska zažalovaly firmy Apple a OpenAI. Viní je z nezákonné konspirace s cílem potlačit konkurenci v oblasti umělé inteligence (AI).

    Ladislav Hagara | Komentářů: 3
    26.8. 05:44 | Nová verze

    Byla vydána nová verze 9.16 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    Pro otevření více webových stránek ve webovém prohlížečí používám
     (78%)
     (9%)
     (3%)
     (4%)
     (5%)
     (1%)
    Celkem 101 hlasů
     Komentářů: 9, poslední dnes 11:53
    Rozcestník

    Dotaz: Jak načíst proměnnou funkce obsahující \

    19.10.2021 16:19 maraou
    Jak načíst proměnnou funkce obsahující \
    Přečteno: 536×
    Ahoj, Napsal jsem si BASH skriptík, který překládá adresy windows na linux

    např: c 'F:\film\' provede cd /data/film

    Problém je, že je otravné neustále psát uvozovky před a za cestu. Existuje nějaký způsob jak do proměnné načíst znak \ a ignorovat jeho escapovací funkci? Pak bych mohl udělat záměnu \ za \\ a už by vše fungovalo.

    Díky, O.


    Řešení dotazu:


    Odpovědi

    19.10.2021 17:06 X
    Rozbalit Rozbalit vše Re: Jak načíst proměnnou funkce obsahující \
    Staci promennou obalit do uvozovek:
    #!/bin/bash 
    
    echo "$1"
    
    Kdyz zadam na vstupu '\r\n' nic se neinterpertuje..
    19.10.2021 19:12 maraou
    Rozbalit Rozbalit vše Re: Jak načíst proměnnou funkce obsahující \
    Oh děkuji.
    19.10.2021 20:13 maraou
    Rozbalit Rozbalit vše Re: Jak načíst proměnnou funkce obsahující \
    Akorat teda mi to nefunguje... co s tim muze byt?

    zkouskamikrofonu( )

    {

    echo "$1"

    }

    maraou@u5.lan> zkouskamikrofonu F:\tmp\test

    F:tmptest

    19.10.2021 20:41 Peter Golis | skóre: 65 | blog: Bežné záležitosti | Bratislava
    Rozbalit Rozbalit vše Re: Jak načíst proměnnou funkce obsahující \
    V otázke to bolo s úvodzovkami:
    $ zkouskamikrofonu  'F:\film\' 
    F:\film\
    
    19.10.2021 21:32 maraou
    Rozbalit Rozbalit vše Re: Jak načíst proměnnou funkce obsahující \
    No právě, ‘s uvozovkami ‘ to samozřejmě funguje. Otázka je jak to udělat bez nich. Máme heterogení prostředí ve firmě, psát to každý den 50x prosťe nebaví.
    xkucf03 avatar 19.10.2021 21:36 xkucf03 | skóre: 49 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Jak načíst proměnnou funkce obsahující \

    A co takhle nepoužívat retardované OS, které si jako oddělovač adresářů zvolily tradiční escapovací znak (zpětné lomítko)? Nebo si do nich aspoň nainstalovat normální Shell (Bash atd.) a psát cesty s normálním lomítkem (stejně tak to funguje i třeba v Javě – i na těch retardovaných OS).

    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
    19.10.2021 21:58 maraou
    Rozbalit Rozbalit vše Re: Jak načíst proměnnou funkce obsahující \
    No ve firmě je 250 zaměstnanců a jenom naše oddělení (30 lidí) používá Linux... není nic snazšího všem ostatním vysvětlit, že je chyba na jejich straně... nota bene když jejich základní nástroje existují jenom pro windows a je to industry standard pro automobilový průmysl.
    19.10.2021 22:10 Peter Golis | skóre: 65 | blog: Bežné záležitosti | Bratislava
    Rozbalit Rozbalit vše Re: Jak načíst proměnnou funkce obsahující \
    Pokiaľ je firma fyzicky limitovaná SW ktorý funguje len pre jeden OS, tak nerozumiem akú rolu v tom hrá druhý OS. Ale ani ma to nezaujíma.

    Tie Windowsové programy sa pod Linuxom možno spustia pomocou programu Wine, a tam sa dá namapovať ten prípojný bod /data ako disk F. Akurát nerozumiem akú rolu v tom hrá bash.
    19.10.2021 22:22 maraou
    Rozbalit Rozbalit vše Re: Jak načíst proměnnou funkce obsahující \
    Unix/Linux je historicky industry standard pro výpočty. Je to jen jedno oddělení. Ostatní jedou na windows (konstrukce, design, testing). Cílem otázky bylo zjednodušit si práci... nejde, nejde nevadí. Hezký den.
    xkucf03 avatar 19.10.2021 22:32 xkucf03 | skóre: 49 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Jak načíst proměnnou funkce obsahující \

    Díval jsem se, jestli nejde tu interpretaci zpětného lomítka v Bashi vypnout, ale přijde mi, že nejde. Třeba by to v jiném shellu šlo, nevím. Případně si takovou volbu do Bashe dopsat – to by nebyl velký problém. Akorát jde o to, že tím ten shell zmrzačíš a přestanou v něm fungovat věci, na které jsou lidé zvyklí a které všude jinde fungují (\t, \n, \ , \\, \), \', \" atd.)

    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
    20.10.2021 14:36 Peter Golis | skóre: 65 | blog: Bežné záležitosti | Bratislava
    Rozbalit Rozbalit vše Re: Jak načíst proměnnou funkce obsahující \
    Pokiaľ si nevie jedno oddelenie o počte 30 ľudí zvyknúť že zdieľaný disk F: je pripojený v /data/, a Windows priečinok F:\film\ majú tým pádom dostupný v /data/film/, tak bude treba upraviť použitý interpreter príkazov aby neeskejpoval lomítka v cieľovom priečinku (ak je zo zadaného rozsahu), ale ho rovno zamenil podľa požiadavky. A nielen interpreter príkazov, ale aj grafického správcu súborov keďže to budú zadávať aj tam alebo rovno klikať na URI file://F:/film/návod-na-použitie.asf

    Toto už ani alias nevyrieši, a problém sa rozrastie do gigantických rozmerov.

    Iné by to bolo, keby sa jednalo o textový zoznam súborov na spracovanie, ten by sa dal prehnať cez stream editor, zmeniť absolútnu cestu a poprípade aj dohľadať či je súbor dostupný pod malými/veľkými alebo zmiešanými písmenami v názve. Ak táto posledná vec nie je prepnutá v Sambe (myslím že sa jedná o voľbu nocase alebo ignorecase v príkaze mount.cifs). v prípade URI smb: si už nespomeniem.
    20.10.2021 07:52 rastos | skóre: 63 | blog: rastos
    Rozbalit Rozbalit vše Re: Jak načíst proměnnou funkce obsahující \
    Používať / ako oddeľovač sa dá aj na Windowsoch.
    Řešení 1× (Вherzet)
    19.10.2021 23:18 z_sk | skóre: 34 | blog: analyzy
    Rozbalit Rozbalit vše Re: Jak načíst proměnnou funkce obsahující \
    Nápis si vlastný shell alebo modifikuj existujúci. ;)
    debian.plus@protonmail.com
    xkucf03 avatar 19.10.2021 20:43 xkucf03 | skóre: 49 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Jak načíst proměnnou funkce obsahující \
    Interpretaci toho \t udělá ještě původní shell, ze kterého tu funkci voláš. Musíš to dát do uvozovek nebo apostrofů tam nebo zdvojit \\ (escapovat).
    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
    21.10.2021 13:36 ttttttttttt
    Rozbalit Rozbalit vše Re: Jak načíst proměnnou funkce obsahující \
    Šlo by v tom skriptu udělat reverzní transformaci k tomu, co udělal shell? Převést tab zpět na '/t' atp.?

    Narazím na to, že nedokážu poznat, jestli nebyl tabulátor součástí názvu souboru, ale tam si můžu říct, že to nedovolím. Má to i další problémy (kromě toho, že je to rovnák na ohýbák)? Nemyslím si, že to je dobrý nápad, přemýšlím jen, jestli by to bylo možné.
    xxxs avatar 24.10.2021 09:10 xxxs | skóre: 25 | blog: vetvicky
    Rozbalit Rozbalit vše Re: Jak načíst proměnnou funkce obsahující \
    to mozno nepotrebujes, lebo tab v nazve suboru vo win ich uzivatelia bezne nevytvoria.
    Jendа avatar 20.10.2021 06:05 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Jak načíst proměnnou funkce obsahující \
    Hm, to asi nejde, pokud to nějaký shell neumí vypnout. Navrhoval bych:
    • Pokud to tam pastuješ ze schránky, udělal bych si wrapovací skript (xclip -out | nějaká_transformace | xclip -in, případně to rovnou pastnout -- což nevím jak se dělá, já to dělám pomocí sleep 0.2; xdotool click 2)
    • Zjistit, jak složité by bylo změnit/hooknout pastovací funkci tvého terminálu.
    • Patchnout bash, aby věci z promptu neescapoval.
    Pavel 'TIGER' Růžička avatar 19.10.2021 23:35 Pavel 'TIGER' Růžička | skóre: 54
    Rozbalit Rozbalit vše Re: Jak načíst proměnnou funkce obsahující \
    A co tou konverzí adres provádíš? Většinou je síť navržena tak, aby se člověk ke zdroji dostal syntaxí svého systému.
    Řešení 1× (Вherzet)
    20.10.2021 00:46 z_sk | skóre: 34 | blog: analyzy
    Rozbalit Rozbalit vše Re: Jak načíst proměnnou funkce obsahující \
    Robiš v BASH vo Windowse?
    debian.plus@protonmail.com
    20.10.2021 19:00 X
    Rozbalit Rozbalit vše Re: Jak načíst proměnnou funkce obsahující \
    Tak uz to mam. Read ma prepinac, ktery lomitko ignoruje, takze staci nacitat skriptem:
    #!/bin/bash
    
    echo -n "Adresar: "; read -r FOO
    echo "$FOO"
    
    
    xkucf03 avatar 20.10.2021 19:10 xkucf03 | skóre: 49 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Jak načíst proměnnou funkce obsahující \

    To ale čte z terminálu / standardního vstupu, ne z parametru příkazu/funkce. Pokud jsem tazatele pochopil schválně, tak by to chtěl používat takhle:

    mojeFunkce() { echo -n "Adresar: "; read -r FOO; echo "$FOO"; }
    mojeFunkce aaa\bbb\ccc

    ale to parametr ignoruje a čte to ze STDIN.

    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
    k3dAR avatar 21.10.2021 02:43 k3dAR | skóre: 63
    Rozbalit Rozbalit vše Re: Jak načíst proměnnou funkce obsahující \
    problem neni s promenou, ale v zadani parametru scriptu v shellu kdyz ho nedas do uvozovek...
    sice v dotazu pises nacist promenou, ale dale pak pises pousteni skriptu s parametrem cesty bez uvozovek...
    takze neni uplne jasne co, jak a proc vlastne chces, jak/kde chces zadavat cestu/cesty a jak/kde se ma predat vystup prevedene cesty...
    tak aspon k zamysleni, priklad jak prevest win cesty uvedene v souboru:
    #!/bin/bash
    
    preved(){
        # prevod lomitek
        lin_cesta="$(echo "$2" | sed 's#\\#/#g')"
        # prevod F:/film na /data/film, 
        lin_cesta="$(echo "${lin_cesta}" | sed 's#^f:/film#/data/film#I')"
        
        # zobrazeni a pridani do souboru "vstupni nazev".prevedene
        echo "${lin_cesta}" | tee -a "${1}.prevedene"
    }
    
    # smazani vystupniho souboru pri spusteni
    rm "${1}.prevedene"
    
    # nacitani radku z vstupniho souboru zadaneho jako parametr skriptu
    while read -r line; do
        preved "${1}" "${line}"
    done < "${1}"
    
    porad nemam telo, ale uz mam hlavu... nobody

    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.