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í
×
    včera 22:22 | Komunita

    Open source webový aplikační framework Django slaví 20. narozeniny.

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

    V Brestu dnes začala konference vývojářů a uživatelů linuxové distribuce Debian DebConf25. Na programu je řada zajímavých přednášek. Sledovat je lze online.

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

    Před 30 lety, tj. 14. července 1995, se začala používat přípona .mp3 pro soubory s hudbou komprimovanou pomocí MPEG-2 Audio Layer 3.

    Ladislav Hagara | Komentářů: 15
    včera 10:55 | IT novinky

    Výroba 8bitových domácích počítačů Commodore 64 byla ukončena v dubnu 1994. Po více než 30 letech byl představen nový oficiální Commodore 64 Ultimate (YouTube). S deskou postavenou na FPGA. Ve 3 edicích v ceně od 299 dolarů a plánovaným dodáním v říjnu a listopadu letošního roku.

    Ladislav Hagara | Komentářů: 16
    13.7. 17:55 | Zajímavý projekt

    Společnost Hugging Face ve spolupráci se společností Pollen Robotics představila open source robota Reachy Mini (YouTube). Předobjednat lze lite verzi za 299 dolarů a wireless verzi s Raspberry Pi 5 za 449 dolarů.

    Ladislav Hagara | Komentářů: 11
    11.7. 16:44 | Komunita

    Dnes v 17:30 bude oficiálně vydána open source počítačová hra DOGWALK vytvořena v 3D softwaru Blender a herním enginu Godot. Release party proběhne na YouTube od 17:00.

    Ladislav Hagara | Komentářů: 3
    11.7. 14:55 | Humor

    McDonald's se spojil se společností Paradox a pracovníky nabírá také pomocí AI řešení s virtuální asistentkou Olivii běžící na webu McHire. Ian Carroll a Sam Curry se na toto AI řešení blíže podívali a opravdu je překvapilo, že se mohli přihlásit pomocí jména 123456 a hesla 123456 a získat přístup k údajům o 64 milionech uchazečů o práci.

    Ladislav Hagara | Komentářů: 16
    11.7. 00:11 | Nová verze

    Byla vydána (𝕏) červnová aktualizace aneb nová verze 1.102 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.102 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    10.7. 21:00 | Bezpečnostní upozornění

    Byla vydána nová verze 2.4.64 svobodného multiplatformního webového serveru Apache (httpd). Řešeno je mimo jiné 8 bezpečnostních chyb.

    Ladislav Hagara | Komentářů: 4
    10.7. 15:22 | Nová verze

    Společnost xAI na síti 𝕏 představila Grok 4, tj. novou verzi svého AI LLM modelu Grok.

    Ladislav Hagara | Komentářů: 12
    Jaký je váš oblíbený skriptovací jazyk?
     (59%)
     (26%)
     (7%)
     (3%)
     (1%)
     (1%)
     (4%)
    Celkem 393 hlasů
     Komentářů: 16, poslední 8.6. 21:05
    Rozcestník

    Dotaz: Bash - vkládání argumentů z proměnné

    12.7.2013 11:18 skvedo | skóre: 1
    Bash - vkládání argumentů z proměnné
    Přečteno: 371×
    Zdravím,

    ve skriptu chci spustit grep s tím, že vzor se vkládá z proměnné, která je načtena ze souboru.

    Můj příkaz:
    grep $DEFINEKEY soubor
    v proměnné DEFINEKEY mám uloženo:
    -e "access-list"
    Po spuštění nedostanu žádný výstup (odpovídající řádky v souboru jsou)

    pokud pro kontrolu provedu příkaz:
    grep $DEFINEKEY soubor
    tak dostanu očekávaný výstup:
    grep -e "access-list" soubor
    Pokud tento příkaz zapíšu přímo do skriptu, tak vše funguje jak má.

    Nesetkal se s tím už někdo? Předem děkuji za rady.

    Odpovědi

    12.7.2013 11:34 Kit
    Rozbalit Rozbalit vše Re: Bash - vkládání argumentů z proměnné
    Problém je v tom, že -e "access-list" jsou dva parametry (klíč a hodnota), které však předáváš jako jeden.
    12.7.2013 12:55 skvedo
    Rozbalit Rozbalit vše Re: Bash - vkládání argumentů z proměnné
    V tom problém nebude. Do souboru jsem si pro testování přidal řádky:
    aa xx
    aa zz
    v souboru, ze kterého je načtena proměnná DEFINEKEY jsem změnil její obsah na:
    -e xx -e zz
    
    a funguje to správně.

    Pokud zadám do proměnné:
    -e aa zz
    tak se dle očekávání interpretuje zz jako název souboru.

    Když do proměnné vložím jedno z:
    -e "aa zz"
    -e 'aa zz'
    dostanu chybovou hlášku:
    grep: zz": Adresář nebo soubor neexistuje
    nebo
    grep: zz': Adresář nebo soubor neexistuje
    
    Problém je v podivné interpretaci uvozovek, které tam teď nejsou potřeba, ale v budoucím použití asi budou a na ten grep ještě navazuje sed kterému jsou argumenty plněny stejně a tam jednotlivé vzory už obsahují mezery.
    12.7.2013 15:10 pako
    Rozbalit Rozbalit vše Re: Bash - vkládání argumentů z proměnné
    Problém je v podivné interpretaci uvozovek, které tam teď nejsou potřeba, ale v budoucím použití asi budou
    Pokud to potrebujete kvuli podivnych znaku, tak je potreba je osetrit pri vkladani do promenne.

    Pokud vam jde o mezery (jakehokoliv druhu), takje to trochu horsi. "${VAR}" nepomuze, protoze pak budete mit problem, ktery popisoval Kit. Asi nejprehlednejsi pak bude pouzvat pole:
    $ cat soubor
    1111
    2222
    3333
    4444
    1221
    "22"33
    "x y z"abc
    $ PAR=("-e" '"x y z"' "-e" "33")
    $ grep "${PAR[@]}" soubor
    3333
    "22"33
    "x y z"abc
    
    na ten grep ještě navazuje sed
    Pro pana krale a proc? Proc to nevyresit rovnou v tom sedu? Nebo tim nejak testujete forkovani, popr. jde o obfuskaci retezenim?
    12.7.2013 15:49 Kit
    Rozbalit Rozbalit vše Re: Bash - vkládání argumentů z proměnné
    ... a na ten grep ještě navazuje sed ...
    V tom případě je ten grep zřejmě zbytečný.
    12.7.2013 14:44 pako
    Rozbalit Rozbalit vše Re: Bash - vkládání argumentů z proměnné
    Nikoliv. Problem je v rom, ze to preda vcetene tech uvozovek. Tedy nehleda vyraz access-list. ale "access-list".

    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.