abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

    dnes 13:00 | IT novinky

    Počítačové hře Doom je dnes 30 let. Vydána byla 10. prosince 1993. Zahrát si ji lze také na Internet Archive.

    Ladislav Hagara | Komentářů: 7
    dnes 02:11 | Komunita

    V srpnu společnost HashiCorp přelicencovala "své produkty" Terraform, Packer, Vault, Boundary, Consul, Nomad a Waypoint z MPL a Vagrant z MIT na BSL (Business Source License). V září byl představen svobodný a otevřený fork Terraformu s názvem OpenTofu. Na konferenci Open Source Summit Japan 2023 byl představen (YouTube) svobodný a otevřený fork Vaultu s názvem OpenBao (GitHub).

    Ladislav Hagara | Komentářů: 3
    včera 21:44 | Komunita

    Na dnes plánované vydání Debianu 12.3 bylo posunuto. V jádře 6.1.64-1 v souborovém systému ext4 je chyba #1057843 vedoucí k možnému poškození dat.

    Ladislav Hagara | Komentářů: 13
    včera 14:11 | Komunita

    Na čem aktuálně pracují vývojáři GNOME a KDE? Pravidelný přehled novinek i s náhledy aplikací v Týden v GNOME a Týden v KDE.

    Ladislav Hagara | Komentářů: 0
    včera 03:11 | Humor

    Tak od ledna linuxové terminály, výchozí pozadí i celé desktopy v barvě "broskvového chmýří", v barvě "jejíž všeobjímající duch obohacuje mysl, tělo i srdce". Barvou roku 2024 je PANTONE 13-1023 Peach Fuzz.

    Ladislav Hagara | Komentářů: 8
    8.12. 21:44 | Nová verze

    Byla vydána verze 10 linuxové distribuce Freespire (Wikipedie). Jedná se o bezplatnou linuxovou distribuci vyvíjenou společností PC/OpenSystems LLC stojící za komerční distribucí Linspire (Wikipedie), původně Lindows.

    Ladislav Hagara | Komentářů: 2
    8.12. 15:44 | Bezpečnostní upozornění

    Binarly REsearch před týdnem informoval o kritických zranitelnostech UEFI souhrnně pojmenovaných LogoFAIL. Tento týden doplnil podrobnosti. Útočník může nahradit logo zobrazováno při bootování vlastním speciálně upraveným obrázkem, jehož "zobrazení" při bootování spustí připravený kód. Pětiminutové povídání o LogoFAIL a ukázka útoku na YouTube.

    Ladislav Hagara | Komentářů: 3
    8.12. 00:11 | Nová verze

    Byla vydána listopadová aktualizace aneb nová verze 1.85 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Ve verzi 1.85 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 24
    7.12. 13:33 | Komunita Ladislav Hagara | Komentářů: 2
    7.12. 13:22 | Komunita

    Richard Hughes na svém blogu oznámil, že počet aktualizací firmwarů pomocí služby LVFS (Linux Vendor Firmware Service) přesáhl 100 milionů. Přehled podporovaných zařízení, nejnovějších firmwarů nebo zapojených výrobců na stránkách LVFS.

    Ladislav Hagara | Komentářů: 0
     (41%)
     (10%)
     (49%)
    Celkem 110 hlasů
     Komentářů: 2, poslední 6.12. 22:12
    Rozcestník

    Dotaz: Bash - přístup k mysql

    1.2.2007 22:26 Zmije
    Bash - přístup k mysql
    Přečteno: 313×
    Hezký den. Na routeru se momentálně snažím vytvořit skript v bashi, který každý den zkontroluje datum a pokud je nový měsíc, tak ho aktualizuje v databáze mysql. Tabulka měsíce je jednoduchá id,mesic(varchar) Snažím se využít této konstrukce
    mysql -N -D webconf -u root -e 'update mesice set mesi='$mesic' where id=2'
    našel sem ji tu v některé starší diskusi. Dostanu tuhle hlasku
    line 14: [: mesic: integer expression expected
    pokud místo proměnné použiju přímo hodnotu, tak to funguje bez problémů. Jakým způsem by se dalo pracovat s mysql v bashi?

    Odpovědi

    Josef Kufner avatar 1.2.2007 23:04 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Bash - přístup k mysql
    Bash se pokouší interpretovat obsah $mesi. Použij uvozovky:
    mysql -N -D webconf -u root -e "update mesice set mesi=$mesic where id=2"
    Hello world ! Segmentation fault (core dumped)
    Fuky avatar 1.2.2007 23:20 Fuky | skóre: 52 | blog: 4u
    Rozbalit Rozbalit vše Re: Bash - přístup k mysql
    mysql -N -D webconf -u root -e "update mesice set mesi='$mesic' where id=2" ;-)
    1.2.2007 23:34 wosambo | skóre: 5
    Rozbalit Rozbalit vše Re: Bash - přístup k mysql
    zprvu me tohle napadlo taky, ale pak jsem to odzkousel a ejhle, v mysql muzu varchar i text updatovat integerem, spis, jak jsem napsal nize, by autor otazky mel uvest vice ze sveho skriptu.
    1.2.2007 23:37 wosambo | skóre: 5
    Rozbalit Rozbalit vše Re: Bash - přístup k mysql
    aha, ze by ten radek 14 byl ten vyraz s mysql uzavreny do hranatych zavorek? pak uz mlcim ;)
    1.2.2007 23:40 wosambo | skóre: 5
    Rozbalit Rozbalit vše Re: Bash - přístup k mysql
    aha. ale to vlastne uz teprv nejde, to by chudak [ nevedel, ci je. primlouvam se znovu za vetsi poodhaleni tajemneho radku 14, co ze je to tomu prikazu [ predhozeno.
    1.2.2007 23:32 wosambo | skóre: 5
    Rozbalit Rozbalit vše Re: Bash - přístup k mysql
    Mam takovej dojem, ze problem nebude v uvedenem radku s prikazem mysql, ale v pouziti prikazu [ (ekvivalent prikazu test), kde to pozaduje integer a ne to, co tam misto integeru je. Ale to by chtelo uvest bud cely ten skript a nebo aspon ten radek 14.
    9.2.2007 00:06 Zmije
    Rozbalit Rozbalit vše Re: Bash - přístup k mysql
    Omlovám se všem za zbytečný dotaz, problém byl opravdu mimo řádek se čtením z DB. Totiž DB používám delší dobu, takže sem ji musel trochu poupravit nyní vypadá takto: id(auto increment, primary key..) mesic (varchar) mesicnum (varchar). Do mesicnum sem uložil listopad místo 2005/11 a o pár řádků dál sem to chtěl porovnávat jako číslo a vtom byl ten problém. Posílám vám alespoň hotový skript, múžete si rejpnou (vím že je to paskvil).
    #! /bin/bash
    #spousteno cronem kazde 3 hodiny 
    echo "######################### SYNCH - START ###########################################"
    ntpdate ntp.cesnet.cz
    
    ##############################Vlozeni noveho mesice#####################################
    #zjisteni aktualniho(posledniho-Last) mesice LMounth
    LMounth=$(date +%m)
    LMounth=${LMounth#0}
    
    #osetreni pokud mesic zacina 0 ;je potreba regulerni cislo 
    LMounth=${LMounth#0}
    
    #zjisteni aktualniho(posledniho-Last) roku LYear
    LYear=$(date +%Y)
    LDate=$LYear$LMounth
    
    #z DB vyber nejvyssi datum a porovnej jestli neni mensi nez aktualni, v pripade ze je pridej mesic
    zaznam=$(mysql -N -D webconf -u root -e "select mesice.id,mesice.mesicnum from mesice
     join (select max(mesice.mesicnum)as mesicmax from mesice)as nejvyssi on mesice.mesicnum=mesicmax")
    mesicid=${zaznam%%$'\t'*}
    zaznam2=${zaznam#$mesicid}
    rok=${zaznam2%%/*}
    rok=${rok#*$'\t'}
    
    mesic=${zaznam2#*$rok/}
    Mounth=${mesic#0}
    Year=$rok
    
    while [ "$Year$Mounth" != "$LYear$LMounth" ]; do
    Mounth=$((Mounth + 1))
    if [ "$Mounth" -gt 12 ]; then
      Year=$((Year+1))
      Mounth=1
    fi
    mesicid=$((mesicid+1))
    
    #slovni zapis mesice
    ##definice pole SMesic
    SMesic=( nultý leden únor březen duben květen červen červenec srpen září říjen listopad prosinec)
    
    mesicnum=$(echo $Year'/'$Mounth)
    if [ "${#Mounth}" = 1 ];then
    mesicnum=$(echo $Year'/0'$Mounth)
    fi
    
    # mysql -N -D webconf -u root -e "update mesice set mesic='${SMesic[$Mounth]} $Year', mesicnum='$mesicnum' where id='$mesicid'"
    mysql -N -D webconf -u root -e "insert mesice (mesic,mesicnum) values ('${SMesic[$Mounth]} $Year','$mesicnum')"
    
    done
    echo "######################### SYNCH - HOTOVO ##########################################"
    9.2.2007 08:54 Ash
    Rozbalit Rozbalit vše Re: Bash - přístup k mysql
    To jste sem neměl dávat, teď se lidi budou ptát kdo vás nutí k takovýmhle ..vylomeninám :)

    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.