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 17:44 | Pozvánky

    V pátek 20. února 2025 se v pražské kanceláři SUSE v Karlíně uskuteční 6. Mobile Linux Hackday, komunitní setkání zaměřené na Linux na mobilních zařízeních, kernelový vývoj a uživatelský prostor. Akce proběhne od 10:00 do večera. Hackday je určen všem, kteří si chtějí prakticky vyzkoušet práci s linuxovým jádrem i uživatelským prostorem, od posílání patchů například pomocí nástroje b4, přes balíčkování a Flatpak až po drobné úpravy

    … více »
    lkocman | Komentářů: 0
    dnes 13:33 | IT novinky

    Evropská rada vydavatelů (EPC) předložila Evropské komisi stížnost na americkou internetovou společnost Google kvůli její službě AI Overviews (AI souhrny), která při vyhledávání na internetu zobrazuje shrnutí informací ze zpravodajských serverů vytvořená pomocí umělé inteligence (AI). Evropská komise již v prosinci oznámila, že v souvislosti s touto službou začala firmu Google vyšetřovat. Google obvinění ze strany vydavatelů

    … více »
    Ladislav Hagara | Komentářů: 9
    dnes 04:44 | Komunita

    Ubuntu 26.04 (Resolute Raccoon) už nebude v desktopové instalaci obsahovat GUI nástroj 'Software & Updates'. Důvodem jsou obavy z jeho složitosti pro běžné uživatele a z toho plynoucích bezpečnostních rizik. Nástroj lze doinstalovat ručně (sudo apt install software-properties-gtk).

    NUKE GAZA! 🎆 | Komentářů: 14
    dnes 04:33 | IT novinky

    Thomas Dohmke, bývalý CEO GitHubu, představil startup Entire - platformu pro spolupráci vývojářů a agentů umělé inteligence. Entire získalo rekordních 60 milionů dolarů na vývoj databáze a nástrojů, které mají zefektivnit spolupráci mezi lidmi a agenty umělé inteligence. Dohmke zdůrazňuje potřebu přepracovat tradiční vývojové postupy tak, aby odpovídaly realitě, kdy většinu kódu produkuje umělá inteligence.

    NUKE GAZA! 🎆 | Komentářů: 0
    dnes 04:22 | Zajímavý projekt

    Toyota Connected North America oznámila vývoj open-source herního enginu Fluorite, postaveného na frameworku Flutter. Pro renderování grafiky využívá 3D engine Filament od společnosti Google a dle svého tvrzení cílí na konzolovou kvalitu her. Fluorite je zřejmě navržen tak, aby fungoval i na méně výkonném hardware, což naznačuje možnost použití přímo v ICE systémech vozidel. Zdrojový kód zatím zveřejněný není.

    NUKE GAZA! 🎆 | Komentářů: 1
    dnes 04:11 | Bezpečnostní upozornění

    Byl vytvořen nástroj a postup pro překonání věkového ověření platforem Discord, Kick, Twitch, Snapchat (a možná dalších), kód je open-source a dostupný na GitHubu. Všechny tyto sítě používají stejnou službu k-ID, která určuje věk uživatele scanem obličeje a na původní server posílá pouze šifrovaná metadata, ty ale sociální síť už nedokáže sama nijak validovat, 'útok' spočívá ve vygenerování a podstrčení legitimně vypadajících ověřovacích metadat.

    NUKE GAZA! 🎆 | Komentářů: 9
    včera 14:11 | IT novinky

    Jihokorejská kryptoměnová burza Bithumb přiznala vážné selhání interních systémů, které ji vystavilo riziku sabotáže a nezabránilo chybné transakci v hodnotě přes 40 miliard dolarů (814 miliard Kč). Druhá největší kryptoměnová burza v Koreji minulý týden při propagační akci omylem rozeslala zákazníkům zhruba 620 000 bitcoinů místo 620 000 wonů (8700 Kč). Incident vyvolal pokles ceny bitcoinu o 17 procent. Většinu

    … více »
    Ladislav Hagara | Komentářů: 9
    včera 13:55 | Nová verze

    Google Chrome 145 byl prohlášen za stabilní. Nejnovější stabilní verze 145.0.7632.45 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Zpátky je podpora grafického formátu JPEG XL, viz Platform Status. Odstraněna byla před třemi lety. Nový dekodér JPEG XL jxl-rs je napsán v Rustu. Zobrazování JPEG XL lze vyzkoušet na testovací stránce. Povolit lze v nastavení chrome://flags (Enable JXL image format).

    Ladislav Hagara | Komentářů: 0
    10.2. 22:44 | Nová verze

    Byla vydána nová verze 1.26 programovacího jazyka Go (Wikipedie). Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    10.2. 18:11 | Nová verze

    CrossOver, komerční produkt založený na Wine, byl vydán ve verzi 26. Přehled novinek v ChangeLogu. CrossOver 26 vychází z Wine 11.0, D3DMetal 3.0, DXMT 0.72, Wine Mono 10.4.1 a vkd3d 1.18. Do 17. února lze koupit CrossOver+ se slevou 26 %.

    Ladislav Hagara | Komentářů: 17
    Které desktopové prostředí na Linuxu používáte?
     (19%)
     (6%)
     (0%)
     (11%)
     (26%)
     (3%)
     (4%)
     (2%)
     (12%)
     (28%)
    Celkem 852 hlasů
     Komentářů: 25, poslední 3.2. 19:50
    Rozcestník

    Dotaz: Bash script - nefunkční příkazy

    18.12.2009 22:57 Thomas123 | skóre: 15
    Bash script - nefunkční příkazy
    Přečteno: 419×

    Zdravím,

    snažím se vyrobit jednoduchý bash script, kde při jeho spuštění se mi zkontroluje konfigurace Apache2 a když bude v pořádku, tak se ukončí. Když nebude v pořádku, tak to vypíše chybu třeba "Špatná konfigurace". Něco jsem tedy vymyslel, ale z nějakého důvodu mi nefunguje grep, a další věci, takže mi to nefunguje a nevidím chybu. Ono takovým problémem jsem zjistil, že je už samotný příkaz. Pokud se ten příkaz na kontrolu syntaxe snažím prohnat přes grep, tak vždy dostanu to stejné.

    #!/bin/sh

    get_APACHE_syntax() {apache2ctl -t | egrep -i "Syntax OK"}
    APACHE_CHECK_SYNTAX=`get_APACHE_syntax`

    if [ $APACHE_CHECK_SYNTAX == "0" ]; then
    echo "Good";
    else
    echo "Bad";
    fi

    Ptám se zkušenějších, kde je chyba? Spouštím to pod rootem a nějak to nejde.


    Řešení dotazu:


    Odpovědi

    Jesus Jimenez avatar 18.12.2009 23:46 Jesus Jimenez | skóre: 29
    Rozbalit Rozbalit vše Re: Bash script - nefunkční příkazy
    A nevraci apachectl navratovou hodnotu?
    apachectl -t
    echo $?
    
    Doaenův zákon průtahů: Čím pomaleji pracuješ, tím méně naděláš chyb. -- Murphy
    19.12.2009 12:45 Thomas123 | skóre: 15
    Rozbalit Rozbalit vše Re: Bash script - nefunkční příkazy
    Díky, tady byla chyba. Nyní mi to už po pár dalších úpravých funguje.
    Jesus Jimenez avatar 18.12.2009 23:49 Jesus Jimenez | skóre: 29
    Rozbalit Rozbalit vše Re: Bash script - nefunkční příkazy
    if apachectl -t &> /dev/null; then
    echo "ok"
    else
    echo "ko"
    fi
    
    Doaenův zákon průtahů: Čím pomaleji pracuješ, tím méně naděláš chyb. -- Murphy
    hikikomori82 avatar 19.12.2009 00:02 hikikomori82 | skóre: 18 | blog: foobar | Košice
    Rozbalit Rozbalit vše Re: Bash script - nefunkční příkazy
    if [ "$APACHE_CHECK_SYNTAX" = "0" ]; then
    19.12.2009 00:13 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Bash script - nefunkční příkazy
    (Jen) tím ale skript fungovat nezačne.
    hikikomori82 avatar 19.12.2009 00:28 hikikomori82 | skóre: 18 | blog: foobar | Košice
    Rozbalit Rozbalit vše Re: Bash script - nefunkční příkazy
    get_APACHE_syntax() {
    apache2ctl -t | egrep -i "Syntax OK"
    }
    
    nesmie to byt na 1 riadku ale samostatne
    19.12.2009 00:31 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Bash script - nefunkční příkazy
    Pořád nestačí… Jinak definice funkce se dá napsat i na jeden řádek, jen by za tím příkazem musel být středník.
    19.12.2009 00:11 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Bash script - nefunkční příkazy

    Do proměnné APACHE_CHECK_SYNTAX neukládáte návratovou hodnotu, ale výstup té funkce, tedy buď prázdný řetězec nebo "Syntax OK".

    Čtení zbytku odpovědi je na vlastní riziko. Bude-li se někdo cítit dotčen, byl varován.

    Opravdu nechápu, proč tolik lidí - a především začátečníků, kteří k tomu mají nejméně důvodů - automaticky předpokládá, že chybu nemohli za žádných okolností udělat oni. Takže když jim nechodí skript, automaticky předpokládají, že "jim nefunguje grep", když jim zlobí úloha spouštěná přes cron, tak hned "nefunguje cron" atd. Opravdu není pravděpodobnější, že je chyba v čerstvě napsaném skriptu, navíc napsaném někým, kdo nemá moc zkušeností, než že je v programu, který běžně používají statisíce, možná miliony lidí?

    V daném případě stačilo místo podezírání egrepu udělat to úplně základní: buď přidat do specifikace interpreteru přepínač -x nebo aspoň přidat jedno echo, které by zobrazilo, co se do té proměnné přiřadilo.

    19.12.2009 12:44 Thomas123 | skóre: 15
    Rozbalit Rozbalit vše Re: Bash script - nefunkční příkazy

    Neměj obavy, echo jsem si tam dával, co obsahuje daná proměnná, problémem bylo, že nikdy neobsahovala to, co měla - "Syntax OK" neobsahovala NIKDY, ale "0" obsahovala téměř vždy (občas neobsahovala vůbec nic).

    Vzhledem k tomu, že jsem si to zkusil dát jako samotný příkaz do terminálu a nefungovalo mi to, tak jsem nevěděl, kde je problém.

    19.12.2009 17:17 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Bash script - nefunkční příkazy
    Pokud jste to měl opravdu takhle a neměl jste tam něco úplně jiného, pak ta proměnná mohla obsahovat buď prázdný řetězec nebo něco, co je až na velikost písmen shodné s "Syntax OK". Rozhodně nemohla, a na tom trvám, obsahovat nulu.
    19.12.2009 20:22 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: Bash script - nefunkční příkazy
    Ale mohla on asi místo porovnání do té proměnné tu nulu uložil.
    19.12.2009 21:11 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Bash script - nefunkční příkazy

    Proto jsem psal "Pokud jste to měl opravdu takhle a neměl jste tam něco úplně jiného". :-)

    Mimochodem, další chyba toho skriptu spočívá v neověřeném (a nepravdivém) předpokladu, že apachectl to "Syntax OK" píše na standardní výstup. Takže pokud skript vypadá takhle, proměnná bude prázdná vždy.

    19.12.2009 22:01 Thomas123 | skóre: 15
    Rozbalit Rozbalit vše Re: Bash script - nefunkční příkazy

    Ano, měl jsem to takto a chvíli jsem tam měl 0, chvíli nic a chvíli "Syntax OK". Pokaždé mi to vyhodilo něco jiného, stačilo mezitím restartovat Apache a zase bylo něco jiného. Opravdu nevím, proč to tak dělalo, server jsem včera vypnul, dneska zapnul, udělal několik úprav (hlavně ta návratová hodnota mi pomohla) a jsem spokojen.

    19.12.2009 22:55 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Bash script - nefunkční příkazy
    Roura, na jejímž konci je 'egrep -i "Syntax OK"' vám jako výstup "0" dát nemůže, přes to prostě vlak nejede. Ve chvíli, kdy vám z toho nula vyšla, ten skript musel vypadat jinak, i kdyby třeba jen tak, že jste to následně prohnal aritmetickou konverzí.
    20.12.2009 09:41 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Bash script - nefunkční příkazy
    Opravdu není pravděpodobnější, že je chyba v čerstvě napsaném skriptu, navíc napsaném někým, kdo nemá moc zkušeností, než že je v programu, který běžně používají statisíce, možná miliony lidí?
    U coreutils to snad ještě tak je, u věcí hlavně kolem freedesktopu bych se nebál říci, že ne.
    In Ada the typical infinite loop would normally be terminated by detonation.

    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.