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 13:44 | IT novinky

    Největší kryptoměnová burza světa Binance se stala terčem útoku, při kterém podvodníci odcizili během několika minut kryptoměny v hodnotě přibližně 6,3 miliardy dolarů. Jedná se o největší kryptoměnovou krádež v historii, přibližně čtyřikrát větší než loňský útok na burzu Bybit. Binance se podařilo ve spolupráci s partnery zmrazit aspoň aktiva v hodnotě zhruba 3 miliard dolarů a slíbila, že veškeré ztráty pokryje z vlastních prostředků.

    Ladislav Hagara | Komentářů: 10
    včera 02:16 | Bezpečnostní upozornění

    Zranitelnost CVE-2026-98432 s CVSS 9.8 odhalila AI od společnosti Anthropic. Jedná se o kritickou chybu v implementaci MPTCP (multipath TCP). Debian vydal patche 16.10. a 22.10., ale např. Ubuntu je zatím bez opravy. Více informací na The Hacker News.

    Max | Komentářů: 20
    29.10. 23:22 | Zajímavý software

    Na Slovensku vznikla úplne nová rally hra, ktorá je zadarmo a funguje vo Windowse, Linuxe či na Macu. Greenie Rally má viac ako 50 tratí a vozidiel, šampionáty či turnaje. Má retro feeling a imituje automobilové hry z prelomu tisícročí. Vyskúšate prejsť všetky mapy na Škode 130RS?

    Stanislav Hoferek | Komentářů: 5
    29.10. 14:33 | Komunita

    Do základního systému NetBSD -current byl přidán nový editor atto jako alternativa k editorům vi a xedit.

    Ladislav Hagara | Komentářů: 1
    29.10. 14:11 | IT novinky

    Společnost System76 představila kompaktní 11litrový Thelio Prime Desktop. S procesorem AMD Ryzen 9000. S Pop!_OS 24.04 LTS s desktopovým prostředím COSMIC nebo Ubuntu 24.04 LTS.

    Ladislav Hagara | Komentářů: 0
    29.10. 13:44 | Humor

    Čínská státní televize pozastavila vysílání španělské La Ligy a čínské internetové platformy omezily obsah s Kylianem Mbappém poté, co slavný fotbalista ve francouzském pořadu The Bridge mluvil o svém oblíbeném memu, v němž je jeho tvář vložena do portrétu zobrazujícího diktátora Mao Ce-tunga. 'Můj oblíbený mem je ten, na kterém dali můj obličej na čínského diktátora. To mě opravdu rozesmívá. S přáteli ho používám pořád' řekl,

    … více »
    Pendrekama do nich❗ | Komentářů: 12
    29.10. 13:22 | IT novinky

    Při příležitosti oslav Dne vzniku samostatného československého státu (28. října) byly uděleny medaile Za zásluhy tvůrci aplikace Záchranka Filipu Maleňákovi, vědci v oblasti umělé inteligence Tomáši Mikolovovi a Olze Štěpánkové, vědkyni zabývající se kybernetikou, robotikou a strojovým učením, průkopnici v oblastech výuky a využití umělé inteligence v medicínském inženýrství.

    Pendrekama do nich❗ | Komentářů: 8
    29.10. 01:33 | IT novinky

    Apple představil nový iPad mini, iMac s čipem M6, 14palcový MacBook Pro s čipem M6 a MacBook Pro s PROLED XDR displejem – první Mac s dotykovým ovládáním.

    Ladislav Hagara | Komentářů: 5
    28.10. 23:22 | Zajímavý projekt

    Nedávno představený projekt mapSTL.com řeší budoucnost. 𝕏: "Netušil jsem, kolik patentů na generování map existuje. Existují patenty na generování fantasy map 🫣. Cokoliv je na 3D tiskárnu a tvoří to produkt, bude to mít patenty. Tak bacha na to!" … více »

    Ladislav Hagara | Komentářů: 5
    28.10. 18:55 | Nová verze

    Multiplatformní emulátor terminálu Ghostty byl vydán ve verzi 1.4 (𝕏). Přehled novinek a vylepšení v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (20%)
     (30%)
     (9%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2951 hlasů
     Komentářů: 34, poslední 26.10. 08:24
    Rozcestník

    Dotaz: Bash IF

    pepe_ avatar 16.4.2011 15:22 pepe_ | skóre: 48
    Bash IF
    Přečteno: 963×

    Snažim se přepsat script kterej je původně pro visualbasic do bashe

     

    Original VB :

    Public Function Velikonoce(rok as integer) As Date
        Dim a, b, c
        Dim m, n
        Dim d, e, U
        Dim V
        a = rok Mod 19
        b = rok Mod 4
        c = rok Mod 7
        m = 24
        n = 5
        d = (19 * a + m) Mod 30
        e = (n + 2 * b + 4 * c + 6 * d) Mod 7
        U = d + e - 9
        If U = 25 And d = 28 And e = 6 And a > 10 Then
            U = 18
            V = 4
        ElseIf U >= 1 And U <= 25 Then
            V = 4
        ElseIf U > 25 Then
            U = U - 7
            V = 4
        Else
            U = 22 + d + e
            V = 3
        End If
        Velikonoce = DateSerial(rok, V, U)    
     End Function
    
    To co přepisuju :
    rok=$1
    a=$((rok%19))
    b=$((rok%4))
    c=$((rok%7))
    m=24
    n=5
    da=$((19*a))
    db=$((da+m))
    d=$((db%30))
    ea=$((n+2))
    eb=$((ea*b))
    ec=$((eb+4))
    ed=$((ec*c))
    ee=$((ed+6))
    ef=$((ee*d))
    e=$((ef%7))
    ua=$((d+e))
    U=$((ua-9))
    
    nevim ale jak správně zadat podmínky IF
    If U = 25 And d = 28 And e = 6 And a > 10 Then
            U = 18
            V = 4
        ElseIf U >= 1 And U <= 25 Then
            V = 4
        ElseIf U > 25 Then
            U = U - 7
            V = 4
        Else
            U = 22 + d + e
            V = 3
        End If
    
    správně do bashe . Jak se dávají za sebe ? Děkuji

    Řešení dotazu:


    Odpovědi

    16.4.2011 16:33 NN
    Rozbalit Rozbalit vše Re: Bash IF
    if [ $U -eq 25 -a $d -eq 28 -a $e -eq 6 -a $a -gt 10 ]; then
            U=18;
            V=4;
    elif [ $U -ge 1 -a $U -le 25 ]; then
            V=4;
    elif [ $V > 25 ]; then
                    U=$(($U - 7));
                    V=4;
    else
            U=$((22 + $d + $e));
            V=3;
    fi
    
    NN
    pepe_ avatar 16.4.2011 18:23 pepe_ | skóre: 48
    Rozbalit Rozbalit vše Re: Bash IF

    Děkuju za ukázku IF , zde je script na výpočet velikonoc ale mam dojem že nepracuje dobře.

     

    #!/bin/bash
    rok=$1
    if [ $rok -lt 1897 ] || [ $rok -gt 2039 ] ; then
    echo "Zadejte rok  1897 - 2039 "
    exit 0
    fi
    a=$((rok%19))
    b=$((rok%4))
    c=$((rok%7))
    m=24
    n=5
    da=$((19*a))
    db=$((da+m))
    d=$((db%30))
    ea=$((n+2))
    eb=$((ea*b))
    ec=$((eb+4))
    ed=$((ec*c))
    ee=$((ed+6))
    ef=$((ee*d))
    e=$((ef%7))
    ua=$((d+e))
    U=$((ua-9))
    if [ $U -eq 25 -a $d -eq 28 -a $e -eq 6 -a $a -gt 10 ]; then
            U=18;
            V=4;
    elif [ $U -ge 1 -a $U -le 25 ]; then
            V=4;
    elif [ $V > 25 ]; then
                    U=$(($U - 7));
                    V=4;
    else
            U=$((22 + $d + $e));
            V=3;
    fi
    echo "Velikonoce budou dne $U.$V $rok"
    

     

    Vycházel sem ze stránek WIKI .

    Kde se dá ověřit že to funguje správně ?

    pepe_ avatar 16.4.2011 18:26 pepe_ | skóre: 48
    Rozbalit Rozbalit vše Re: Bash IF

    Podle * je to špatně .

    17.4.2011 12:25 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Bash IF

    Srovnejte

    ea=$((n+2))
    eb=$((ea*b))
    ec=$((eb+4))
    ed=$((ec*c))
    ee=$((ed+6))
    ef=$((ee*d))
    e=$((ef%7))
    

    vs.

    e=$((($n+2*$b+4*$c+6*$d)%7))
    
    pepe_ avatar 17.4.2011 15:58 pepe_ | skóre: 48
    Rozbalit Rozbalit vše Re: Bash IF

    no srovnavam ale nejak mi unika chyba , MNE TO PRIJDE STEJNE ALE JINAK ZAPSANE.

    Asi sem slepej ale prijde mi to principialne identicke.

    V cem je teda rozdil ?

    17.4.2011 16:41 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Bash IF

    Tak si tam zkuste dosadit konkrétní čísla a uvidíte.

    Hint: (a+b)*c != a+b*c == a+(b*c)

    pepe_ avatar 17.4.2011 17:11 pepe_ | skóre: 48
    Rozbalit Rozbalit vše Re: Bash IF

    takle rozumim ze a+b to cele * c je jine nez b*c to cele +a

    ale se zapisu mi to takto neprijde

    17.4.2011 17:21 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Bash IF
    To je váš problém, že vám to nepřijde. Takhle to prostě je a učí se to už na prvním stupni základní školy.
    pepe_ avatar 17.4.2011 17:28 pepe_ | skóre: 48
    Rozbalit Rozbalit vše Re: Bash IF

    Takze nejdrive nasobit a vysledky pak scitat , to s te tim chtel rict ?.

    17.4.2011 17:30 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Bash IF
    Samozřejmě. Stejně jako kdybyste to počítal ručně podle vzorečku. Nebo to prostě nechte spočítat bash, stejně jako autor původního skriptu.
    pepe_ avatar 17.4.2011 17:31 pepe_ | skóre: 48
    Rozbalit Rozbalit vše Re: Bash IF

    Ono učit se a hledat chybu je užitečnější než použít cizí výtvor.

    Založit nové vlákno • Nahoru

    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.