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

    Tento týden byla vydána nová verze 1.52 webového prohlížeče Brave (Wikipedie, GitHub). Postavena je na Chromiu 114. Z novinek lze vypíchnout možnost povolit vertikální karty (vertical tabs). Také bylo představeno Brave Search API k vyhledávači Brave Search.

    Ladislav Hagara | Komentářů: 0
    2.6. 19:55 | Komunita

    Matthias Clasen z Red Hatu oznámil v diskusním listu vývojářů Fedora Linuxu, že tým Red Hat Display Systems se zaměří na Wayland a podporu HDR na Linuxu a přestane spravovat RPM balíčky pro LibreOffice. V další major verzi RHELu už LibreOffice nebude. Pokud se nenajde správce balíčků pro Fedora Linux, zůstane pouze LibreOffice ve Flatpaku.

    Ladislav Hagara | Komentářů: 28
    2.6. 17:33 | IT novinky

    Na Steamu lze získat zdarma počítačovou hru Tell Me Why (ProtonDB). Na Epic Games Storu počítačovou hru Midnight Ghost Hunt (ProtonDB).

    Ladislav Hagara | Komentářů: 3
    2.6. 14:11 | IT novinky

    Společnost Meta představila (YouTube) brýle pro virtuální realitu Meta Quest 3. V prodeji budou na podzim a stát budou od 499,99 dolarů.

    Ladislav Hagara | Komentářů: 0
    2.6. 13:44 | Nová verze

    Byla vydána nová verze 2.41.0 distribuovaného systému správy verzí Git. Přispělo 95 vývojářů, z toho 29 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    2.6. 09:00 | Nová verze

    Organizace Apache Software Foundation (ASF) vydala verzi 18 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.

    Ladislav Hagara | Komentářů: 0
    2.6. 00:11 | Nová verze

    Byla vydána verze 1.70.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example. Jako reakce na rostoucí obavy z vlivu korporací na vývoj Rustu a předložený návrh restriktivních zásad používání ochranných známek Rustu, byl nedávno představen komunitní fork Rustu se 100 % méně byrokracie: Crab (CrabLang).

    Ladislav Hagara | Komentářů: 8
    1.6. 21:55 | Zajímavý článek

    Oliver Smith z Canonicalu shrnuje základní vlastnosti „neměnné“ distribuce Ubuntu Core také ve srovnání s protějšky Chrome OS, Fedora Silverblue a MicroOS. Canonical připravuje desktopovou variantu Ubuntu Core vedle dosavadní serverové/embedded.

    Fluttershy, yay! | Komentářů: 0
    1.6. 13:33 | Upozornění

    Z aktualizovaného seznamu chyb (pdf) procesoru AMD EPYC 7002: #1474 - procesor se po 1044 dnech od posledního resetu zasekne [reddit].

    Ladislav Hagara | Komentářů: 24
    1.6. 13:00 | Nová verze

    Fossil (Wikipedie) byl vydán ve verzi 2.22. Jedná se o distribuovaný systém správy verzí propojený se správou chyb, wiki stránek a blogů s integrovaným webovým rozhraním. Vše běží z jednoho jediného spustitelného souboru a uloženo je v SQLite databázi.

    Ladislav Hagara | Komentářů: 0
    Twitter (nejen pro příležitostné čtení)
     (85%)
     (3%)
     (12%)
    Celkem 75 hlasů
     Komentářů: 4, poslední včera 21:29
    Rozcestník

    Dotaz: BASH + PHP v jednom súbore

    27.5.2009 16:58 matej
    BASH + PHP v jednom súbore
    Přečteno: 1191×
    ahojte, potrebujem poradiť

    potrebujem vytvoriť bash skript, ktorý by spúšťal php skript ... problém je že by bolo super, keby to neboli 2 súbory, ale iba jeden a php kód by bol vložený priamo v tom bash skripte ... to by tiež ešte nebol problém ale potrebujem presmerovať STDIN bash skriptu na STDIN v tom php skripte a neviem ako. Tiež všetky parametre bash skriptu posunúť ako parametre toho php skriptu (ale to nieje až aké dôležité)

    niečo v štýle:
    #!/bin/bash
    
    echo "bla bla bla bla"
    
    /usr/bin/php ?????????????
    
    exit
    
    #### START PHP ####
    ?php
        echo "start \n";
        $f = fopen('php://stdin','r');
        while (!feof($f))
        {
            echo fgets($f,1024) . "\n";
        }
        fclose($f);
        echo "stop \n";
    ?
    
    použitie: cat data.dat | ./databaza.sh --test

    PS: bonusové body pre každého kto to dokáže bez pomocných súborov :D

    ďakujem

    Odpovědi

    27.5.2009 17:17 Andrej Herceg | skóre: 43
    Rozbalit Rozbalit vše Re: BASH + PHP v jednom súbore
    A čo by to malo robiť? Nestačilo by použiť niečo ako
    #!/usr/bin/php
    <?php
            echo "TEST\n";
            for ($i = 1; $i < $argc; $i++)
            {
                    echo "parameter " . $i . ": " . $argv[$i] . "\n";
            }
    ?>
    prípadne v tom bash skripte vygenerovať html kód a ten poslať (cez rúru) php?
    27.5.2009 17:39 matej
    Rozbalit Rozbalit vše Re: BASH + PHP v jednom súbore
    ten BASH nastavuje nejaké enviroment premenné pre to PHP, ktoré sa nedajú zmeniť už v PHP (konkrétne nastavenie pripojenia k oracle). Lepšie povedané php tuším bez nich ani nenaštartuje. Momentálne to riešim tak že mám 2 skripty, ale robi to strašný bordel keď je všetko dvojmo :D.

    Nieje problém do nejakej premennej dostať tú časť skriptu ktorá obsahuje len PHP. problém je to že php ho potrebuje na štandardnom vstupe a tým pádom "neviem" na štandardný vstup presmeerovať to čo príde do bash skriptu.

    pokial mám 2 súbory, je to jednoduché:
    #!/bin/sh
    
    NLS_LANG=slovak_slovakia.ee8mswin1250
    NLS_NUMERIC_CHARACTERS="."
    atď.
    
    export ORACLE_SID LD_LIBRARY_PATH ...
    
    ./import.php $@ <&0
    

    27.5.2009 18:58 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: BASH + PHP v jednom súbore
    #!/usr/bin/env NLS_LANG=slovak_slovakia.ee8mswin1250 atd. /path/to/php
    
    In Ada the typical infinite loop would normally be terminated by detonation.
    27.5.2009 21:50 matej
    Rozbalit Rozbalit vše Re: BASH + PHP v jednom súbore
    podarilo sa :)

    ... do <( ??? ) za tým php treba dať niečo čo z aktuálneho súboru zobrazí len php časť
    #!/bin/bash
    
    LN=`grep -n '<?php' $0 | tail -1 | awk -F: '{print $1}'`;
    LN=$(($LN - 1))
     
    php -f <(sed "$LN,$ !d" $0) -- $@
    
    exit
    
    ##### START PHP #####
    <?php
        echo "STDIN START \n";
        $data = fopen('php://stdin','r');
        while (!feof($data))
        {
            echo 'PHP:'.fgets($data,1024);
        }
        fclose($data);
        echo "\n";
        echo "STDIN STOP \n";
        echo "PARAMETRE \n";
        echo print_r($argv,true).'test';
    

    :~/Desktop/TEST$ cat data.dat | ./script.sh -param1 --param2 -test3 
    STDIN START 
    PHP:123456
    PHP:abcdefgh
    PHP:098765432
    PHP:test
    PHP:endpwd
    PHP:
    PHP:
    STDIN STOP 
    PARAMETRE 
    Array
    (
        [0] => /dev/fd/63
        [1] => -param1
        [2] => --param2
        [3] => -test3
    )
    
    
    28.5.2009 06:10 deadmail
    Rozbalit Rozbalit vše Re: BASH + PHP v jednom súbore
    nebolo by lepsie pouzit HERE document?
    #!/bin/bash
    
    LN=...
    
    php << KONIEC
    <?php
    ....
    ?>
    KONIEC
    
    ...pokracuje bash...
    
    28.5.2009 10:28 matej
    Rozbalit Rozbalit vše Re: BASH + PHP v jednom súbore
    práve som to skúšal, ale BASH má nejaký problém so syntaxou PHP ... vadia mu napríkad $ v názvoch premenných :(
    28.5.2009 16:31 deadmail
    Rozbalit Rozbalit vše Re: BASH + PHP v jednom súbore
    tomu sa da lahko zabranit, vid tldp.org
    php <<'KONIEC'
    ...
    KONIEC
    
    28.5.2009 06:15 deadmail
    Rozbalit Rozbalit vše Re: BASH + PHP v jednom súbore
    vymazat v sede ide aj bez pocitania riadkov
    sed "1,/##### START PHP #####/d"
    
    28.5.2009 10:14 matej
    Rozbalit Rozbalit vše Re: BASH + PHP v jednom súbore
    pravda :D ... občas sa mi stáva, že si nevšimnem úplne zjavnú vec :D inak problém s tým sedom je to , že on nenájde to správne druhé 'START PHP', ale nájde sám seba. Tam by sa mu zišlo nejako povedať že hľadáš až to druhé 'START PHP' alebo ten pattern v tom zede nejako zamaskovať ...
    28.5.2009 16:32 deadmail
    Rozbalit Rozbalit vše Re: BASH + PHP v jednom súbore
    sed "1,/^##### START PHP #####/d"
    
    28.5.2009 06:52 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: BASH + PHP v jednom súbore
    A proč to neudělat jednoduše přes ten env?
    In Ada the typical infinite loop would normally be terminated by detonation.
    28.5.2009 10:18 matej
    Rozbalit Rozbalit vše Re: BASH + PHP v jednom súbore
    vyzerá to prehľadnejšie ... predsalen je ľajhšie napísať do cronu "getdata | parsedata | import" ako "getdata | evn 'nieco strasedlheneprehladne' import ". a navyše tam môžem pridať aj iné veci ... ten enviroment bol len ako príklad.
    28.5.2009 10:48 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: BASH + PHP v jednom súbore
    Ale ten env dáte za shebang do skriptu, ne do cronu. V cronu to furt bude vypadat "getdata | parsedata"
    In Ada the typical infinite loop would normally be terminated by detonation.
    28.5.2009 12:18 matej
    Rozbalit Rozbalit vše Re: BASH + PHP v jednom súbore
    už som to konečne pochopil :D ... takto by to šlo, ale stále sú to 2 súbory a tomu som sa chcel vyhnúť + okrem nastavenia enviromentu sa do toho skriptu dajú pridať aj iné veci
    28.5.2009 13:44 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: BASH + PHP v jednom súbore
    Nerozumím kde vidíte dva soubory.

    A jaké další věci chcete do toho skriptu dát?
    In Ada the typical infinite loop would normally be terminated by detonation.
    28.5.2009 17:44 matej
    Rozbalit Rozbalit vše Re: BASH + PHP v jednom súbore
    už to chápem 2 :D ... to path/to/php je cesta k php a nie cesta k php skriptu ... to ma zmiatlo ... v tom pripade je to super riešenie :D ďakujem

    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.