abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 13:22 | IT novinky

    Andrew S. Tanenbaum byl oceněn 2023 ACM Software System Award (Wikipedie) za operační systém MINIX.

    Ladislav Hagara | Komentářů: 1
    včera 10:22 | Komunita

    Celkový počet stažení aplikací z Flathubu překročil 2 miliardy. Aktuální Statistiky Flathubu: Celkový počet stažení 2 002 793 783. Celkem desktopových aplikací 2 636.

    Ladislav Hagara | Komentářů: 10
    21.6. 23:33 | Nová verze

    Byla vydána nová verze 4.8.0 programu na úpravu digitálních fotografií darktable (Wikipedie).

    Ladislav Hagara | Komentářů: 0
    21.6. 23:11 | Zajímavý článek

    Nová čísla časopisů od nakladatelství Raspberry Pi: MagPi 142 (pdf) a HackSpace 79 (pdf).

    Ladislav Hagara | Komentářů: 0
    21.6. 18:22 | Nová verze

    Qtractor (Wikipedie) dospěl do verze 1.0.0. Jedná se o Audio/MIDI vícestopý sekvencer.

    Ladislav Hagara | Komentářů: 0
    21.6. 14:33 | Nová verze

    Byl vydán svobodný kancelářský balík OnlyOffice Docs 8.1. Vedle četných oprav přináší několik funkcí včetně podpory editace textu v PDF a vytváření formulářů v PDF.

    Fluttershy, yay! | Komentářů: 41
    21.6. 12:33 | Zajímavý článek

    Daniel Stenberg, autor nástroje curl, z databáze SteamDB zjistil, že aktuálně 22 734 her na Steamu používá curl.

    Ladislav Hagara | Komentářů: 4
    20.6. 19:55 | IT novinky

    Společnost Anthropic vydala Claude 3.5 Sonnet, tj. novou verzi své umělé inteligence Claude (Wikipedie). Videoukázky na YouTube. S Claude 3, stejně jak s GPT-3.5, Llama 3 a Mixtral, si lze pokecat bez přihlašování na DuckDuckGo AI Chat.

    Ladislav Hagara | Komentářů: 0
    20.6. 16:55 | Nová verze

    Byla vydána nová stabilní verze 6.8 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 126. Přehled novinek i s náhledy v příspěvku na blogu a na YouTube. Vypíchnuta jsou vylepšení v integrovaném poštovním klientu.

    Ladislav Hagara | Komentářů: 0
    20.6. 12:11 | Zajímavý článek

    Příspěvek Aukce domén – měsíc po spuštění na blogu CZ.NIC shrnuje první měsíc provozu Aukce domén .CZ. Aukcemi prošlo celkem 18 174 domén, z toho na 742 z nich byl učiněn alespoň 1 příhoz. Nejdražší aukcí byla na doménu virtualnisidlo.cz s cenou 95 001 Kč, která však nebyla včas uhrazena. Nejdražší aukcí, která byla vydražena i zaplacena je praguecityline.cz s cenovkou 55 600 Kč.

    Ladislav Hagara | Komentářů: 16
    Rozcestník

    Dotaz: Jak na kontrolu načtení souboru

    8.9.2013 19:00 Marky
    Jak na kontrolu načtení souboru
    Přečteno: 457×
    DD, chtěl bych se zeptat, jak se dá udělat v bash/shell tohle, příklad je pro PHP. Děkuji za ochotu ;)
    if(!include_once 'file.php'){
      echo("File not loaded... :-(");
      exit("Error!");
    }

    Odpovědi

    8.9.2013 19:29 Kit
    Rozbalit Rozbalit vše Re: Jak na kontrolu načtení souboru
    Tohle se ale v PHP už dávno nedělá.

    Použij příkaz trap.
    8.9.2013 19:53 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Jak na kontrolu načtení souboru
    Když uděláš:
    . file.bash

    tak v $? je uložena návratová hodnota posledního příkazu z file.bash, pokud soubor neexistuje tak to zklame (tedy nebude tam 0).

    Tedy můžeš testovat $?, ale netestuješ přímo to, na co se ptáš…

    Pokud je file.bash tvůj script a nakonci máš exit 0 , tak přes $? otestuješ jestli se korektně provedl nebo ne a to 'ne' zahrnuje i neexistenci.

    PS: Ta PHP konstrukce mi nedává moc smysl…

    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    8.9.2013 20:05 Marky
    Rozbalit Rozbalit vše Re: Jak na kontrolu načtení souboru
    Vyzkouším, děkuji, Ihmo, jak se v php už nedělá? Co je na té konstrukci špatně?
    8.9.2013 20:09 Kit
    Rozbalit Rozbalit vše Re: Jak na kontrolu načtení souboru
    Prostě uděláš
    include_once 'file.php';
    O zbytek se postarají výjimky.
    8.9.2013 20:19 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Jak na kontrolu načtení souboru

    Jestli je include fatální v daný okamžik, tak pak:

    require_once 'file.php';
    a je to. pokud není (použije se include), tak to zklame kde má…

    Možná konstrukce:

    if(!(@include_once 'file.php')) 
      throw new myInclException("Bylo tu, není tu");
    
    by možná dávala (mně) smysl.

    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    8.9.2013 20:38 Kit
    Rozbalit Rozbalit vše Re: Jak na kontrolu načtení souboru
    I fatální chyba se v PHP dá odchytit přes register_shutdown_function(). Je zbytečné kvůli tomu definovat další výjimku.
    8.9.2013 21:00 Marky
    Rozbalit Rozbalit vše Re: Jak na kontrolu načtení souboru
    Chlapy a co nějak takto?
    exitus(){
    echo "Soubor se nepodařilo načíst.."
    exit 1
    }
    
    . file.bash || exitus
    nebo jen
    . file.bash || exit 1
    8.9.2013 21:10 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Jak na kontrolu načtení souboru
    Jak jsem psal výše, testuješ tím, že poslední příkaz obsažený ve file.bash (skončil bez chyby) vs. (poslední příkaz skončil s chybou nebo soubor se nepodařilo vložit/provést).
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    11.9.2013 09:18 Marky
    Rozbalit Rozbalit vše Re: Jak na kontrolu načtení souboru
    Jak jsem psal výše, testuješ tím, že poslední příkaz obsažený ve file.bash (skončil bez chyby) vs. (poslední příkaz skončil s chybou nebo soubor se nepodařilo vložit/provést).
    Ale toho příkazem . /my.sh || exitus docílím i tak, na víc je to jediné co funguje, jelikož když budu chtít testovat $? == 0 tak přece nemůžu dát do sourcovaného scriptu na konec exit 0 :-D jelikož by se hned celý script ukončil.. Dík
    11.9.2013 19:03 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Jak na kontrolu načtení souboru

    Oops, velké sorry za exit 0, mělo být return 0 - nějak mi to ujelo.

    Přikazem
    . /my.sh || exitus
    docílíš úplně to samé co
    . /my.sh
    if [ $? != 0 ]; then exitus;  fi
    
    bo to je to de-facto to samé jen jinak napsané, tedy stále platí, že chyba nastane pokud poslední příkaz vkládaného souboru skončí s chybou nebo soubor neexistuje.
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    Tarmaq avatar 9.9.2013 16:41 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: Jak na kontrolu načtení souboru
    FILE=foo.sh
    
    if test -e $FILE; then
        . $FILE
    else
        echo "File not loaded... :-(";
        exit 1
    fi
    
    Don't panic!
    11.9.2013 10:36 Patrik Uhrak | skóre: 31 | blog: pato
    Rozbalit Rozbalit vše Re: Jak na kontrolu načtení souboru

    Podla mojho nazoru rovno otestovat na citanie a to tak v logickej nadvaznosti na spravu v pripade nemoznosti nacitania daneho suboru a najma na fakt, ze overenie existencie suboru este nic nevravi o moznosti ho citat, co je v tomto pripade klucove. Vid:

    patrik@domov:~$ stat /etc/shadow
      File: ‘/etc/shadow’
      Size: 1009      	Blocks: 8          IO Block: 4096   regular file
    Device: 12h/18d	Inode: 112385      Links: 1
    Access: (0640/-rw-r-----)  Uid: (    0/    root)   Gid: (   42/  shadow)
    Access: 2013-09-06 10:12:39.997458015 +0100
    Modify: 2013-09-06 10:12:39.997458015 +0100
    Change: 2013-09-06 10:12:40.005458028 +0100
     Birth: -
    patrik@domov:~$ groups 
    patrik lp cdrom floppy sudo audio dip video plugdev netdev
    patrik@domov:~$ echo $UID 
    1000
    patrik@domov:~$ test -e /etc/shadow
    patrik@domov:~$ echo $?
    0
    patrik@domov:~$ test -r /etc/shadow
    patrik@domov:~$ echo $?
    1
    
    Tarmaq avatar 11.9.2013 12:06 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: Jak na kontrolu načtení souboru
    ano, mas samozrejme pravdu, blbe jsem pochopil zadani..
    Don't panic!
    11.9.2013 21:21 mkmm
    Rozbalit Rozbalit vše Re: Jak na kontrolu načtení souboru
    V bashi je primo test na citelnost souboru, takze by melo stacit
    test -r soubor && . soubor || { echo "Nnenacteno"; exit 1; }

    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.