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 00:22 | Nasazení Linuxu

Společnost Samsung oznámila, že skrze dokovací stanici DeX a aplikaci Linux on Galaxy bude možno na Samsung Galaxy S8 a S8+ a Galaxy Note 8 provozovat Linux. Distribuce nebyly blíže upřesněny.

Phantom Alien | Komentářů: 4
včera 23:55 | Komunita

Společnost Purism na svém blogu oznámila, že její notebooky Librem jsou nově dodávány se zrušeným (neutralized and disabled) Intel Management Engine (ME). Aktualizací corebootu na již prodaných noteboocích lze Management Engine také zrušit. Více v podrobném článku.

Ladislav Hagara | Komentářů: 0
včera 21:44 | Nová verze

Organizace Apache Software Foundation (ASF) na svém blogu slaví páté výročí kancelářského balíku Apache OpenOffice jako jejího Top-Level projektu. Při této příležitosti byl vydán Apache OpenOffice 4.1.4 (AOO 4.1.4). Podrobnosti v poznámkách k vydání. Dlouhé čekání na novou verzi tak skončilo.

Ladislav Hagara | Komentářů: 5
včera 19:22 | Pozvánky

Již příští týden - 26. a 27. října se v Praze v hotelu Olšanka odehraje OpenWRT Summit. Na webu konference naleznete program a možnost zakoupení lístků - ty stojí 55 dolarů. Čtvrtek bude přednáškový a v pátek se budou odehrávat převážně workshopy a meetingy.

Miška | Komentářů: 0
včera 13:44 | Nová verze

Bylo vydáno Ubuntu 17.10 s kódovým názvem Artful Aardvark. Ke stažení jsou Ubuntu Desktop a Server, Ubuntu Cloud Images, Ubuntu Netboot, Kubuntu, Lubuntu a Lubuntu Alternate, Lubuntu Next, Ubuntu Budgie, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio a Xubuntu. Podrobnosti v poznámkách k vydání.

Ladislav Hagara | Komentářů: 15
včera 13:00 | Komunita

MojeFedora.cz informuje, že Fedora 27 dostane podporu pro AAC. Podpora multimediálních formátů je ve výchozí instalaci Fedory tradičně limitovaná kvůli softwarovým patentům, ale desktopový tým Red Hatu se ji i tak snaží v poslední době co nejvíce rozšířit. Už nějaký čas obsahuje kodeky pro MP3, H.264, AC3 a nyní byl přidán také kodek pro další velmi rozšířený zvukový formát – AAC.

Ladislav Hagara | Komentářů: 2
18.10. 23:55 | Pozvánky

Spolek OpenAlt zve příznivce otevřených technologií a otevřeného přístupu na 145. brněnský sraz, který proběhne v pátek 20. října od 18:00 hodin v restauraci Time Out na adrese Novoměstská 2 v Řečkovicích. Jedná se o poslední sraz před konferencí OpenAlt 2017, jež proběhne o víkendu 4. a 5. listopadu 2017 na FIT VUT v Brně. Běží registrace účastníků.

Ladislav Hagara | Komentářů: 0
18.10. 21:44 | Nová verze

Byla vydána verze 5.2.0 multiplatformního virtualizačního nástroje Oracle VM VirtualBox. Jedná se o první stabilní verzi z nové větve 5.2. Z novinek lze zmínit například možnost exportování VM do Oracle Cloudu, bezobslužnou instalaci hostovaného systému nebo vylepšené GUI. Podrobnosti v seznamu změn. Aktualizována byla také dokumentace.

Ladislav Hagara | Komentářů: 2
18.10. 14:00 | Zajímavý projekt

Byl spuštěn Humble Down Under Bundle. Za vlastní cenu lze koupit multiplatformní hry The Warlock of Firetop Mountain, Screencheat, Hand of Fate a Satellite Reign. Při nadprůměrné platbě (aktuálně 3,63 $) také Hacknet, Hacknet Labyrinths, Crawl a Hurtworld. Při platbě 12 $ a více lze získat navíc Armello.

Ladislav Hagara | Komentářů: 0
18.10. 13:00 | Nová verze

Google Chrome 62 byl prohlášen za stabilní (YouTube). Nejnovější stabilní verze 62.0.3202.62 tohoto webového prohlížeče přináší řadu oprav a vylepšení. Vylepšeny byly také nástroje pro vývojáře (YouTube). Opraveno bylo 35 bezpečnostních chyb.

Ladislav Hagara | Komentářů: 4
Jak se vás potenciálně dotkne trend odstraňování analogového audio konektoru typu 3,5mm jack z „chytrých telefonů“?
 (10%)
 (1%)
 (1%)
 (1%)
 (74%)
 (13%)
Celkem 115 hlasů
 Komentářů: 7, poslední včera 23:06
    Rozcestník
    Štítky: není přiřazen žádný štítek

    Vložit další komentář
    8.5.2014 16:23 prqek | blog: prqek
    Rozbalit Rozbalit vše Re: Zas dva dny v měsíci kdy zlobí BASH skripty
    To je zas nějaká bashová finesa? Já bych napsal:

    if [ "${today}" = "1" ]

    a je to bez problémů. Kdysi do nás ve škole hustili, ať se skripty píšem čiště ve styly SysV. Ne, že bych to nějak striktně dodržoval (kolikrát ani nevím, co do toho ještě spadá a co už ne), ale koukám, že se to hodí, i když člověk nemusí předpokládat, že ten skrip poběží někde jinde než na Linuxu.
    8.5.2014 16:32 ewew | skóre: 36 | blog: ewewov_blog
    Rozbalit Rozbalit vše Re: Zas dva dny v měsíci kdy zlobí BASH skripty

    Možno lepšie by bolo to dať rovno do if.

    sec.linuxpseudosec.sk
    8.5.2014 17:39 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Zas dva dny v měsíci kdy zlobí BASH skripty
    OT: O tom bych mohl psát podobně taky :), když něco jede déle a spustíš to před půlnocí a skončí to po půlnoci a potřebuje to vědět na začátku a na konci scriptu…
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    8.5.2014 17:18 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Zas dva dny v měsíci kdy zlobí BASH skripty

    Ovšem jen za předpokladu, že uděláš s date to co jsem uvedl jako první, jinak tvoje if true nenastane nikdy.

    Bash má vlastní test a má rozdíly při použití [ ] vs. [[ ]] vs. (( )) - v tom je trochu rozdíl (, ale nic co by se toho týkalo).
    A má operátory == (nebo kompatibilní =) pro porovnání textové, co jsi použil a i -eq (a další) pro porovnání numerické stejně jako test, takže teď nevím ‚co‘ je ta finesa abych mohl říct ano či ne :-).

    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    8.5.2014 18:35 prqek | blog: prqek
    Rozbalit Rozbalit vše Re: Zas dva dny v měsíci kdy zlobí BASH skripty
    Tou finesou jsem myslel právě [[ a předvším ono numerické porovnání. Ten můj kód je špatně, napsal jsem to bez rozmyslu. Pointou mělo být, že bych to porovnával textově. Když bych opravdu potřeboval numerické porovnání (např. <,>) asi bych použil expr, právě v duchu toho, co mě učili ve škole. Může to vypadat jako stará škola, ale je mnoho současných *nixů, kde bash a gnu není. Na druhou stranu nemusí být všechno multiplatformní, jen mě zaujalo, že se ta stará škola semtam hodí i na GNU/Linuxu :-)
    8.5.2014 19:06 Semo | skóre: 44 | blog: Semo
    Rozbalit Rozbalit vše Re: Zas dva dny v měsíci kdy zlobí BASH skripty
    V praci pisem nejake skripty aj na AIXe, kde je default shellom ksh. A bol som prekvapeny, kolko veci (podla nazoru hodne ludi z ABCL cistych bashovin) hladko funguje aj v ksh - [[ so svojimi rozsireniami, polia atd. Najprv som sa snazil pisat odschool sh-like stylom, ale tie moderne veci znacne ulahcuju zivot.
    If you hold a Unix shell up to your ear, you can you hear the C.
    8.5.2014 19:38 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Zas dva dny v měsíci kdy zlobí BASH skripty

    Mezi:

    if [ "${today}" = "1" ]
    a
    if [[ "${today}" == "1" ]]
    není zde rozdílu.

    Jestli textově nebo numericky, to je těžké, na to je různý pohled, já většinou porovnám textově a paradoxem je právě, že jsem, zcela jistě, dal porovnání numerické aby 01 a 1 bylo totéž…
    Jinak ksh taky [[

    < > má BASH jako textové operátory (stejně jako dash, ksh), v csh už by to šlo numericky

    S expr je to nepřehledné (věc názoru), pokud se píše script pro bash či jiný shel, jedu to v něm s možnostmi, co má…

    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    8.5.2014 19:57 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Zas dva dny v měsíci kdy zlobí BASH skripty
    Beru zpět to s tím [ a [[ - ba naopak je to právě rozdíl - sorry.
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    8.5.2014 16:33 ewew | skóre: 36 | blog: ewewov_blog
    Rozbalit Rozbalit vše Re: Zas dva dny v měsíci kdy zlobí BASH skripty

    Podľa manu programu date je možne použiť aj výraz %e a výsledok je podobný.

    sec.linuxpseudosec.sk
    8.5.2014 17:05 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Zas dva dny v měsíci kdy zlobí BASH skripty
    %e ≡ %_d
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    8.5.2014 17:56 Tomáš
    Rozbalit Rozbalit vše Re: Zas dva dny v měsíci kdy zlobí BASH skripty
    Něco podobného se mi stalo se skripty na release programu. Chtělj sem to mít pěkně zarovnané, tak jsem zleva zarovnával nulami, a pak přišlo číslo 08 (tuším jenom minor verze, ale i tak to padlo na hubu).
    Bystroushaak avatar 8.5.2014 19:42 Bystroushaak | skóre: 32 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Zas dva dny v měsíci kdy zlobí BASH skripty
    Já bych to napsal v pythonu za použití sh modulu. S bashem a jeho obskurní syntaxí mi došla trpělivost už dávno.
    14.5.2014 10:33 n
    Rozbalit Rozbalit vše Re: Zas dva dny v měsíci kdy zlobí BASH skripty
    hmm, to vypadá zajímavě
    8.5.2014 19:50 Stevko
    Rozbalit Rozbalit vše Re: Zas dva dny v měsíci kdy zlobí BASH skripty
    Vyzerá, že použitie [ ] miesto [[ ]], funguje. Osobne používam konštrukciu "if test"
    8.5.2014 20:10 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Zas dva dny v měsíci kdy zlobí BASH skripty
    Jo, je to tak [ je de-facto test…
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    8.5.2014 19:53 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Zas dva dny v měsíci kdy zlobí BASH skripty
    Použiji stejnou rétoriku :):

    S jazykem kde, odsazování vytváří scope a furt chybí nějaký modul jsem trpělivost ani nikdy nezískal.

    Ale jinak jestli bych měl scriptovat přes to co jsi odkázal, tak s tím seknu, to už nevidím pak důvod to nenapsat v nějakém normálním jazyku jako C/C++ a kdybych musel - nebo bych to dal raději v php.

    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    8.5.2014 20:21 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Zas dva dny v měsíci kdy zlobí BASH skripty
    Jsem přesvědčený že jsem odpovídal na Bystroushaak .. s pythonem, ale asi mi to nevyšlo.
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    Bystroushaak avatar 9.5.2014 00:28 Bystroushaak | skóre: 32 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Zas dva dny v měsíci kdy zlobí BASH skripty
    S jazykem kde, odsazování vytváří scope a furt chybí nějaký modul jsem trpělivost ani nikdy nezískal.
    No, pointa nebyla v použití pythonu, ale v nepoužití bashe. Perl by taky šel.

    Jinak co se týče těch modulů, od toho je tady pip, přes který ten sh nainstaluješ stylem pip install sh.
    Ale jinak jestli bych měl scriptovat přes to co jsi odkázal, tak s tím seknu, to už nevidím pak důvod to nenapsat v nějakém normálním jazyku jako C/C++ a kdybych musel - nebo bych to dal raději v php.
    Zkoušel jsi někdy psát program, který pracuje se systémem v něčem, co jsi popsal? Většinou to má podporu tak asi jakože system(), s trochou štěstí se občas najde popen() a kód pak vypadá stylem proveď system(), zkontroluj návratový kód, přečti co to ti to vrátilo a doufej, že se to na pozadí nějak divně nerozpadlo. Je to asi tak intuitivní a přehledné jako se drbat za uchem živou chobotnicí.

    Ten modul co jsem linkoval je poměrně vysokoúrovňový a na pozadí dělá různé triky, kterými se prakticky vyrovná bashi perlu. Například udělat rouru, spustit něco na pozadí, nebo přesměrování stdin/err/out je tam docela triviální. Používám to teď v práci na scriptování kolem proftpd a nemůžu si to vynachválit.

    Zrovna to co jsi posílal by vypadalo takhle:
    #! /usr/bin/env python
    import sh
    
    today = sh.date("+%d")
    if int(today) == 1:
        print "Do action on the 1st of month..."
    Když teda pominu, že pro práci s datumem a časem má python vlastní moduly, které jsou přítomné by default a na všech platformách.
    9.5.2014 10:08 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Zas dva dny v měsíci kdy zlobí BASH skripty

    Jsem si jistý, že ti to vyhovuje, ale jsem si jistý že mě ne a pokud nebudu muset budu jistě psát scripty v BASH nebo DASH či KSH atd…, v tom se vyzná každý…

    Ale nedá mi to, bo na příkladu rozdíly moc nevidím, jen snad c-éčko je trochu delší:
    #! /usr/bin/env python
    import sh
     
    today = sh.date("+%d")
    if int(today) == 1:
        print "Do action on the 1st of month..."
    
    #!/bin/bash
    
    today="$(/bin/date '+%-d')" 
    if [[ "${today}" -eq 1 ]]; then # "10#${today}"
      echo "Do action on the 1st of month..."
    fi
    
    <?php /*podle toho jak se to bude spouštět*/
    
    $today = (int)date('j');
    if ($today == 1){
      echo "Do action on the 1st of month...";
    }
    
    #include <stdio.h>
    #include <time.h>
    
    int main(void) {
      time_t t = time(NULL);
      struct tm tm = *localtime(&t);
      if(tm.tm_mday == 1){
        printf("%s", "Do action on the 1st of month...");
      }
    }
    
    O možnostech a nemožnostech jednotlivých jazyků je to dost široký debata, bo způsob práce se liší a není třeba se prakticky vyrovnávat bashi/perlu, když máš BASH a PERL ;-)
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    Bystroushaak avatar 9.5.2014 14:20 Bystroushaak | skóre: 32 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Zas dva dny v měsíci kdy zlobí BASH skripty
    O možnostech a nemožnostech jednotlivých jazyků je to dost široký debata, bo způsob práce se liší
    Ehm. To co jsi napsal v PHP a C není ekvivalent, neboť tam dochází k volání interních knihoven. Ta moje ukázka volá program /bin/date úplně stejně, jako ten bash kód. Pointa samozřejmě není takhle získávat datum, ale automatizovat ostatní procesy, keteré vyžadují interakci s programy, jenž nabízí shell. Způsob práce se tedy neliší od bashe.
    a není třeba se prakticky vyrovnávat bashi/perlu, když máš BASH a PERL ;-)
    No, to je na delší diskuzi. Pak se ti stává, že to dva dny v měsíci nefunguje ;)

    Já jsem docela rád, že python získal díky tomu modulu úplně jiný level použitelnosti pro věci, které bych dřív psal v bashi.
    9.5.2014 22:29 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Zas dva dny v měsíci kdy zlobí BASH skripty

    Není to ekvivalent, protože provolání date přes sytém nedokážu napsat, to mi paprče prostě nedají, ale bylo by samozřejmě to samé a v C by se to zkrátilo, protože by to bylo jen jedno volání.

    To se ti stane v čemkoliv, když nerespektuješ definovaná pravidla (proto strašně nerad python, protože mám velké problémy je dodržovat a pak se divím a to mnohem častěji). Třeba v PHP, když si myslíš že AND a && je to samé nebo v csh, když si myslíš, že se s < porovná řetězce, nebo v C když si myslíš, že indexi pole jsou jako v Pascalu.

    On ten způsob konverze řetězce v BASH není zas tak výjimečný, ono se to tak prostě někdy/někde dělá i ten python jenže explicitně, zápis int(today,0) způsobí stejný problém.

    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    Bystroushaak avatar 9.5.2014 23:48 Bystroushaak | skóre: 32 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Zas dva dny v měsíci kdy zlobí BASH skripty
    Není to ekvivalent, protože provolání date přes sytém nedokážu napsat, to mi paprče prostě nedají, ale bylo by samozřejmě to samé
    Co jsou to paprče?
    a v C by se to zkrátilo, protože by to bylo jen jedno volání.
    No, to by ses mohl ještě divit, co všechno tam musíš řešit. Ono nestačí jen zavolat system(), protože ten pouze příkaz vykoná a vrátí status kód, nikoliv stdout a stderr.
    To se ti stane v čemkoliv, když nerespektuješ definovaná pravidla
    Jenže ty pravidla jsou v bashi, jak to jen říct .. skrytější a nemilosrdnější. Prostě to není programovací jazyk a většina těch roztomilých vymožeností, které považujeme za normální tam chybí, nebo funguje lehce (a často skrytě) jinak.
    (proto strašně nerad python, protože mám velké problémy je dodržovat a pak se divím a to mnohem častěji).

    Já ti nechci nutit python (což tak možná už vypadá :D), ale:

    V pythonu jsou ta pravidla maximálně triviální a konzistentní skrz celý jazyk. Celá syntaxe je tak triviální, že se vejde na pár desítek řádek BNF popisu a co je podstatné, tak je konzistentní. To bych si o bashi tvrdit netroufl, když v něm jednou za čas dělám třeba něco se smyčkama, tak mám pocit že ten kdo to navrhoval ujížděl na LSD a ještě to solil náhodným generátorem.
    10.5.2014 11:58 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Zas dva dny v měsíci kdy zlobí BASH skripty

    Rozšiř si slovní zásobu :-) −> Paprče.

    S C - ani bych se nedivil ;), jen jsem si to neuvědomil, kompletní varianta by byla opravdu o kus delší, nicméně jednou se napíše a pak se používá. I krátká varianta s popen bude delší.

    Ono to o BASH bude asi trochu pravda, ale je to tím k čemu slouží s čím musí být kompatibilní.

    S cykly nemám problém jsem to v zásadě omezil na while :; do (výjimečně s podmínkou) a for((;;)) což jsou normální cykly (for .. inh se někdy taky hodí, ale většinou zjistím, že vlastně potřebuji for((;;)) ), ale někdy zápolím s podmínkami (chci používat jen [[ ]] a někdy mi to nevyjde)

    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    9.5.2014 12:55 R
    Rozbalit Rozbalit vše Re: Zas dva dny v měsíci kdy zlobí BASH skripty
    Niekolko bash skriptov som prepisoval do PHP (hlavne kvoli vykonu). Vysledkom bolo menej riadkov, omnoho prehladnejsi kod a radovo vyssia rychlost. V PHP je vela casto potrebnych funkcii integrovanych, takze system() sa pouziva velmi zriedkavo. A kedze sa nemusi stale forkovat, je to podstatne rychlejsie.
    pavlix avatar 9.5.2014 13:19 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Zas dva dny v měsíci kdy zlobí BASH skripty
    Přepisovat něco z bashe do PHP mi přijde jako udělat hromadu práce jen abych se dostal na půl cesty.
    9.5.2014 14:27 Radek Hladik | skóre: 20
    Rozbalit Rozbalit vše Re: Zas dva dny v měsíci kdy zlobí BASH skripty
    Tak pokud je na PHP zvyklej, tak proč ne (teda pokud mu stačí výkon interpretovaného jazyka). Já taky mám spoustu systémových skriptů v PHP a nemůžu si to vynachválit. Prostě mám radší PHP než perl, python, ruby,... a co si budem povídat, tak většina takovýchto skriptů je o tom sezbírat nějakej vstup, ten párkrát nějak zpracovat a udělat výstup. A PHP/perl/python jsou přesně jazyky, kde se to dělá pohodlně (výhoda oproti bashi) a většinou dostatečně rychle (nevýhoda oproti C/C++).

    Ostatně, zkoušel si někdo, jak je na tom PHP/perl/python oproti C/C++ ve skutečnosti? Jak už jsem tu někde psal, tak když jsem kdysi zkoušel napsat v PHP modul pro PowerDNS na načítání zone file z tinydns, tak jsem byl poměrně mile překvapen...
    9.5.2014 18:46 luv | skóre: 18 | blog: luv
    Rozbalit Rozbalit vše Re: Zas dva dny v měsíci kdy zlobí BASH skripty
    Pokud to pies pro sebe - proc ne, ale mit systemovy skripty v php na pracovnich systemech nebo vubec na strojich, s ktere administruje vic lidi. To radeji ne :-)
    Ostatně, zkoušel si někdo, jak je na tom PHP/perl/python oproti C/C++ ve skutečnosti? Jak už jsem tu někde psal, tak když jsem kdysi zkoušel napsat v PHP modul pro PowerDNS na načítání zone file z tinydns, tak jsem byl poměrně mile překvapen...
    Samozrejme zalezi jak kde ...
    9.5.2014 20:37 Radek Hladik | skóre: 20
    Rozbalit Rozbalit vše Re: Zas dva dny v měsíci kdy zlobí BASH skripty
    Pokud to pies pro sebe - proc ne, ale mit systemovy skripty v php na pracovnich systemech nebo vubec na strojich, s ktere administruje vic lidi. To radeji ne :-)
    No to je docela otázka, proč by ne. Já to mám na pracovnich strojích, kde to adminuje víc lidí a vůbec to není problém. A to proto, že ty lidi, co ty skripty používaj, je používají podle toho, jak se používat mají a pokud není potřeba, tak se dovnitř nešahá. Což ostatně platí úplně u všech skriptů a programů. A pokud někdo už musí do zdrojáku, pak je výrazně podstatnější, jak přehledně je ten skript napsaný než v čem je napsaný.
    Ostatně, zkoušel si někdo, jak je na tom PHP/perl/python oproti C/C++ ve skutečnosti? Jak už jsem tu někde psal, tak když jsem kdysi zkoušel napsat v PHP modul pro PowerDNS na načítání zone file z tinydns, tak jsem byl poměrně mile překvapen...
    Samozrejme zalezi jak kde ...
    To je taková všezahrnující odpověď. Ano, záleží jak kde, ale jak jsem psal, byl jsem mile překvapen, že ten rozdíl nebyl tak strašný, jak by se dalo očekávat. Pro představu: starý testovací stroj, nějaký P3 800MHz a zónový soubor s cca 40k DNS záznamy, což je už poměrně dost (řekněme třeba 1000 domén). Celé to zabralo 45MB RAMky a dotaz v průměru trval 0.00023 sekundy. Což je sice možná x-krát víc, než nativní aplikace v C, ale na druhou stranu je to naprosto dostačující.

    Ale přesto, když před někým řeknu "systémová věc napsaná v PHP", tak je to jak červený hadr na býka, odpovědi typu "To radeji ne", ale když se nad tím člověk objektivně zamyslí...
    9.5.2014 21:59 luv | skóre: 18 | blog: luv
    Rozbalit Rozbalit vše Re: Zas dva dny v měsíci kdy zlobí BASH skripty
    No rekneme, ze mame trochu jinou profesionalni zkusenost. ;-)
    9.5.2014 22:38 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Zas dva dny v měsíci kdy zlobí BASH skripty
    Ono to záleží na tom, jestli je to ještě administrační skript nebo jen používaná utilita, ta může být v C, Pythonu či PHP a admin se v tom babrat normálně nebude a pokud ano, holt už potřebuje specifickou znalost. Mám takový jeden v PHP, který byl původně v Pythonu, ale byl dost sprasený a nedokázal jsem ho jen opravit, musel jsem ho přepsat a třeba v BASH by to bylo fakt utrpení, Python nechci, a v kompilovaném jazyku je to zas málo flexibilní. Pokud se v takovém scriptu neblbne objektově slušně se to okomentuje a vypichnou se konfigurační proměnné, tak i to PHP je srozumitelné komukoliv kdo ví co je funkce, if a while, pokud ne tak to má jakoby by to bylo v C tedy utrum (, bo kdo zná základy C měl by být schopen přečíst PHP).
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    9.5.2014 18:44 luv | skóre: 18 | blog: luv
    Rozbalit Rozbalit vše Re: Zas dva dny v měsíci kdy zlobí BASH skripty
    Holt bash jde proti uzivateli jak to jen jde :-) - jedna naslapna mina vedle druhy :-)
    $ [[ "${today}" -eq 1 ]]; echo $?
    bash: [[: 09: value too great for base (error token is "09")
    1
    
    I kdyz ten priklad by mel imho fungovat, i presto ze to "vybouchne".
    9.5.2014 21:49 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Zas dva dny v měsíci kdy zlobí BASH skripty
    No a tom je ten blog - neměl by fungovat, má to jasně definováno. Devítka prostě v osmičkové soustavě neexistuje.
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    9.5.2014 21:51 luv | skóre: 18 | blog: luv
    Rozbalit Rozbalit vše Re: Zas dva dny v měsíci kdy zlobí BASH skripty
    Ale vzdyt to ten if executne jen prvniho.
    lukas@x200:~$ date
    Fri May  9 20:50:21 BST 2014
    lukas@x200:~$ today="$(/bin/date '+%d')"
    lukas@x200:~$ if [[ "${today}" -eq 1 ]]; then
    >   echo "Do action on the 1st of month..."
    > fi
    bash: [[: 09: value too great for base (error token is "09")
    
    9.5.2014 22:47 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Zas dva dny v měsíci kdy zlobí BASH skripty

    Nerozumím řeči tvého kmene.

    echo "$today"
    09
    
    -eq porovnává čísla, tedy se $today převádí na číslo a protože string reprezentující číslo uvozený 0 se bere jako v osmičkové soustavě, tak to padne na hubu a hlásí ti to, že ani 8 ani 9 v osmičkové soustavě neexistuje, tak a to jsou ty dva dny v měsíci kdy to nefunguje a vo tom to celé je.

    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    9.5.2014 22:56 luv | skóre: 18 | blog: luv
    Rozbalit Rozbalit vše Re: Zas dva dny v měsíci kdy zlobí BASH skripty
    U me to teda na hubu nepadne, vypise chybu na stderr a vrati 1 (tudiz false).
    lukas@x200:~$ cat opravdu.sh 
    if [[ 09 -eq 1 ]]; then
        echo "AAA"
    else
        echo "BBB"
    fi
    echo "afters"
    lukas@x200:~$ bash opravdu.sh 
    opravdu.sh: line 1: [[: 09: value too great for base (error token is "09")
    BBB
    afters
    
    bash no :-P
    9.5.2014 23:16 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Zas dva dny v měsíci kdy zlobí BASH skripty

    Dobře, nevyjádřil jsem se přesně nepadne to na hubu (ať to znamená cokoliv), o padnutí na hubu by se dalo mluvit pokud se má akce dělat 8 nebo 9 - ta by se neprovedla nikdy (nebo se právě 8 a 9 nemá dělat, což by se provedla).

    A je to přece správně 09 se nerovná 1 (ani 9) protože to nelze porovnat, ale mnohem zajímavější (i když plně logické), pokud tam dáš -ne bude to zas false a pokud to zneguješ ! bude furt true.

    A chování je v pořádku, dle dokumentace, ten kdo je mimo je scriptovač…
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    16.5.2014 15:54 rich
    Rozbalit Rozbalit vše Re: Zas dva dny v měsíci kdy zlobí BASH skripty
    Nemusim nic doinstalovavat ani prepisovat do jinych jazyku. Staci upravit podminku tak aby to odpovidalo tomu co vraci 'date' a jak funguje bash ;-)

    if [[ "08" -eq 8 ]]; then echo ok; else echo kwok;fi bash: [[: 08: value too great for base (error token is "08") kwok

    if [[ "08" = "08" ]]; then echo ok; else echo kwok;fi ok

    prijde mi ta diskuse celkem dlouha a o nicem
    16.5.2014 23:28 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Zas dva dny v měsíci kdy zlobí BASH skripty

    Ano, použil si jednu z roje možností a porovnal jsi to textově (což sice lze, ale blbě se s tím počítá a jakmile začneš si tam kde jsem byl…), date vrací to, o co si řekneš a o tom to taky je a i většina z možností z diskuze je o tom jak funguje BASH a řekl bych, že diskuze je právě o těch možnostech, kde všechny jsou správně a každá je trochu jiná a jindy vhodná, pokud se ovšem neudělají chybně.

    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†

    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.