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

Již tento víkend 4. a 5. března proběhne v Praze na Karlově náměstí 13 konference InstallFest 2017. Na programu je celá řada zajímavých přednášek a workshopů. Jaké linuxové distribuce používají návštěvníci chystající se na konferenci? Odpověď na Twitteru.

Ladislav Hagara | Komentářů: 1
dnes 08:44 | Nová verze

Minulý týden byla vydána verze 8.0.0 minimalistické linuxové distribuce (JeOS, Just enough Operating System) pro Kodi (dříve XBMC) a multimediálního centra LibreELEC (Libre Embedded Linux Entertainment Center). Jedná se o fork linuxové distribuce OpenELEC (Open Embedded Linux Entertainment Center). LibreELEC 8.0.0 přichází s Kodi 17.0 Krypton.

Ladislav Hagara | Komentářů: 0
včera 12:30 | IT novinky

Nadace Raspberry Pi představila (YouTube) Raspberry Pi Zero W. Jedná se o vylepšenou verzi miniaturního počítače Raspberry Pi Zero s Wi-Fi a Bluetooth. Koupit jej lze za 10 dolarů. V prodeji je také oficiální krabička.

Ladislav Hagara | Komentářů: 14
včera 00:55 | Komunita

Pocket (dříve Read It Later) (Wikipedie) je oblíbená služba umožňující uložit si článek z webu na později. V červnu 2015 s vydáním Firefoxu 38.0.5 se do té doby doplněk Pocket stal integrovanou součásti Firefoxu, a to i přes odpor celé řady uživatelů tohoto webového prohlížeče. Mozilla po měsících ustoupila a z integrované součásti se stal opět doplněk. Včera bylo oznámeno, že Mozilla službu Pocket kupila (Mozilla Blog, Pocket Blog).

Ladislav Hagara | Komentářů: 20
27.2. 23:55 | Pozvánky

Tentokrát jsme si pro vás připravili neobvyklou akci. Ve středu 1. 3. v 17:30 nás přivítá sdružení CZ.NIC ve svých prostorách v Milešovské ulici číslo 5 na Praze 3, kde si pro nás připravili krátkou prezentaci jejich činnosti.

… více »
xkucf03 | Komentářů: 0
27.2. 18:30 | Komunita

Jednodeskový počítač Raspberry Pi slaví již 5 let. Prodej byl spuštěn 29. února 2012. O víkendu proběhne v Cambridgi velká narozeninová party. Na YouTube bylo při této příležitosti zveřejněno video představující zajímavé projekty postavené na Raspberry Pi.

Ladislav Hagara | Komentářů: 3
27.2. 18:30 | Nová verze

Byla vydána verze 2017.1.1 svobodného multiplatformního leteckého simulátoru FlightGear. Kódový název a výchozí letiště této verze je Bergen. Přehled novinek v Changelogu.

Ladislav Hagara | Komentářů: 0
27.2. 10:50 | Zajímavý software

Mozilla.cz informuje o dvou nových experimentálních funkcích v programu Firefox Test Pilot (zprávička). Snooze Tabs slouží k odkládání panelů na později. Pokud vám někdo pošle odkaz, ale vy nemáte čas si stránku hned přečíst, můžete si naplánovat otevření panelu na později. Stačí kliknout na tlačítko a vybrat, kdy chcete panel otevřít. Firefox panel schová a ve vybraný čas znovu otevře. Pulse umožňuje ohodnotit, jak dobře stránka funguje, např. jak rychle se ve Firefoxu načetla. Podle nasbíraných hodnocení pak bude Mozilla prohlížeč ladit.

Ladislav Hagara | Komentářů: 10
27.2. 02:00 | IT novinky

V Barceloně probíhá veletrh Mobile World Congress 2017. Nokia na něm například představila (360° video na YouTube) novou Nokii 3310 (YouTube). BlackBerry představilo BlackBerry KEYone (YouTube) s QWERTY klávesnicí. LG představilo LG G6 (YouTube). Huawei HUAWEI P10 a P10 Plus. Samsung představil tablet Galaxy Tab S3.

Ladislav Hagara | Komentářů: 3
26.2. 14:00 | Nová verze

Komunita kolem Linuxu From Scratch (LFS) vydala Linux Linux From Scratch 8.0 a Linux From Scratch 8.0 se systemd. Nové verze knih s návody na instalaci vlastního linuxového systému ze zdrojových kódů přichází především s Glibc 2.25 a GCC 6.3.0. Současně bylo oznámeno vydání verze 8.0 knih Beyond Linux From Scratch (BLFS) a Beyond Linux From Scratch se systemd.

Ladislav Hagara | Komentářů: 0
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (13%)
 (2%)
 (72%)
 (3%)
 (10%)
Celkem 743 hlasů
 Komentářů: 72, poslední dnes 11:16
    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: 344×

    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: 28
    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: 28
    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: 79 | 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.