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í
×
eParkomat, startup z ČR, postoupil mezi finalisty evropského akcelerátoru ChallengeUp!
Robot na pivo mu otevřel dveře k opravdovému byznysu
Internet věcí: Propojený svět? Už se to blíží...
dnes 06:00 | Komunita

Na YouTube byl publikován Blender Institute Reel 2016, ani ne dvouminutový sestřih z filmů, které vznikly za posledních 10 let díky Blender Institutu. V institutu aktuálně pracují na novém filmu Agent 327. Dění kolem filmu lze sledovat na Blender Cloudu. Videoukázka Agenta 327 z června letošního roku na YouTube.

Ladislav Hagara | Komentářů: 0
dnes 01:02 | Zajímavý článek

Minulý týden byly vydány verze 1.2.3 a 1.1.7 webového poštovního klienta Roundcube. V oznámení o vydání bylo zmíněno řešení bezpečnostního problému nalezeného společností RIPS a souvisejícího s voláním funkce mail() v PHP. Tento týden byly zveřejněny podrobnosti. Útočník mohl pomocí speciálně připraveného emailu spustit na serveru libovolný příkaz. Stejně, jak je popsáno v článku Exploit PHP’s mail() to get remote code execution z roku 2014.

Ladislav Hagara | Komentářů: 0
včera 16:00 | Nová verze

Byla vydána verze 0.98 svobodného nelineárního video editoru Pitivi. Z novinek lze zmínit například přizpůsobitelné klávesové zkratky. Videoukázka práce s nejnovější verzí Pitivi na YouTube.

Ladislav Hagara | Komentářů: 1
včera 15:00 | Zajímavý software

Stop motion je technika animace, při níž je reálný objekt mezi jednotlivými snímky ručně upravován a posouván o malé úseky, tak aby po spojení vyvolala animace dojem spojitosti. Jaký software lze pro stop motion použít na Linuxu? Článek na OMG! Ubuntu! představuje Heron Animation. Ten bohužel podporuje pouze webové kamery. Podpora digitálních zrcadlovek je začleněna například v programu qStopMotion.

Ladislav Hagara | Komentářů: 3
7.12. 21:21 | Nová verze Ladislav Hagara | Komentářů: 0
7.12. 11:44 | Zajímavý projekt

Na Indiegogo byla spuštěna kampaň na podporu herní mini konzole a multimediálního centra RetroEngine Sigma od Doyodo. Předobjednat ji lze již od 49 dolarů. Požadovaná částka 20 000 dolarů byla překonána již 6 krát. Majitelé mini konzole si budou moci zahrát hry pro Atari VCS 2600, Sega Genesis nebo NES. Předinstalováno bude multimediální centrum Kodi.

Ladislav Hagara | Komentářů: 2
7.12. 00:10 | Nová verze

Byla vydána verze 4.7 redakčního systému WordPress. Kódové označením Vaughan bylo vybráno na počest americké jazzové zpěvačky Sarah "Sassy" Vaughan. Z novinek lze zmínit například novou výchozí šablonu Twenty Seventeen, náhledy pdf souborů nebo WordPress REST API.

Ladislav Hagara | Komentářů: 8
6.12. 12:00 | Zajímavý projekt

Projekt Termbox umožňuje vyzkoušet si linuxové distribuce Ubuntu, Debian, Fedora, CentOS a Arch Linux ve webovém prohlížeči. Řešení je postaveno na projektu HyperContainer. Podrobnosti v často kladených dotazech (FAQ). Zdrojové kódy jsou k dispozici na GitHubu [reddit].

Ladislav Hagara | Komentářů: 27
6.12. 11:00 | Bezpečnostní upozornění

Byly zveřejněny informace o bezpečnostní chybě CVE-2016-8655 v Linuxu zneužitelné k lokální eskalaci práv. Chyba se dostala do linuxového jádra v srpnu 2011. V upstreamu byla opravena minulý týden [Hacker News].

Ladislav Hagara | Komentářů: 2
5.12. 22:00 | Komunita

Přibližně před měsícem bylo oznámeno, že linuxová distribuce SUSE Linux Enterprise Server (SLES) běží nově také Raspberry Pi 3 (dokumentace). Obraz verze 12 SP2 pro Raspberry Pi 3 je ke stažení zdarma. Pro registrované jsou po dobu jednoho roku zdarma také aktualizace. Dnes bylo oznámeno, že pro Raspberry Pi 3 je k dispozici také nové openSUSE Leap 42.2 (zprávička). K dispozici je hned několik obrazů.

Ladislav Hagara | Komentářů: 6
Kolik máte dat ve svém domovském adresáři na svém primárním osobním počítači?
 (32%)
 (24%)
 (29%)
 (8%)
 (5%)
 (3%)
Celkem 799 hlasů
 Komentářů: 50, poslední 29.11. 15:50
Rozcestník
Reklama

Dotaz: Bash IF

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

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: 46
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: 46
Rozbalit Rozbalit vše Re: Bash IF

Podle * je to špatně .

17.4.2011 12:25 Michal Kubeček | skóre: 71 | 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: 46
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: 71 | 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: 46
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: 71 | 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: 46
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: 71 | 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: 46
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á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.