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:00 | IT novinky

    V Raspberry Pi OS lze nově snadno povolit USB Gadget Mode a díky balíčku rpi-usb-gadget (CDC-ECM/RNDIS) mít možnost se k Raspberry Pi připojovat přes USB kabel bez nutnosti konfigurování Wi-Fi nebo Ethernetu. K podporovaným Raspberry Pi připojeným do USB portu podporujícího OTG.

    Ladislav Hagara | Komentářů: 0
    dnes 03:33 | Komunita

    Konference Installfest 2026 proběhne o víkendu 28. a 29. března v budově FELu na Karlově náměstí v Praze. Přihlásit přednášku nebo workshop týkající se Linuxu, otevřených technologií, sítí, bezpečnosti, vývoje, programování a podobně lze do 18. února 0:15.

    Ladislav Hagara | Komentářů: 0
    dnes 03:22 | Komunita

    Fedora Flock 2026, tj. konference pro přispěvatele a příznivce Fedory, bude opět v Praze. Proběhne od 14. do 16. června. Na Flock navazuje DevConf.CZ 2026, který se uskuteční 18. a 19. června v Brně. Organizátoři konferencí hledají přednášející, vyhlásili Call for Proposals (CfP).

    Ladislav Hagara | Komentářů: 0
    dnes 03:11 | Zajímavý software

    Z80-μLM je jazykový model 'konverzační umělé inteligence' optimalizovaný pro běh na 8-bitovém 4Mhz procesoru Z80 s 64kB RAM, technologii z roku 1976. Model používá 2-bitovou kvantizaci a trigramové hashování do 128 položek, což umožňuje zpracování textu i při velmi omezené paměti. Natrénovaný model se vejde do binárního souboru velkého pouhých 40 KB. Tento jazykový model patrně neprojde Turingovým testem 😅.

    NUKE GAZA! 🎆 | Komentářů: 1
    včera 17:44 | IT novinky

    Digitální a informační agentura (DIA) na přelomu roku dokončila rozsáhlou modernizaci hardwarové infrastruktury základních registrů. Projekt za 236 milionů korun by měl zabránit výpadkům digitálních služeb státu, tak jako při loňských parlamentních volbách. Základní registry, tedy Registr práv a povinností (RPP), Informační systém základních registrů (ISZR) a Registr obyvatel (ROB), jsou jedním z pilířů veřejné správy. Denně

    … více »
    Ladislav Hagara | Komentářů: 5
    včera 17:33 | IT novinky

    Evropská komise (EK) zahájila nové vyšetřování americké internetové platformy 𝕏 miliardáře Elona Muska, a to podle unijního nařízení o digitálních službách (DSA). Vyšetřování souvisí se skandálem, kdy chatbot s umělou inteligencí (AI) Grok na žádost uživatelů na síti 𝕏 generoval sexualizované fotografie žen a dětí. Komise o tom dnes informovala ve svém sdělení. Americký podnik je podezřelý, že řádně neposoudil a nezmírnil rizika spojená se zavedením své umělé inteligence na on-line platformě.

    Ladislav Hagara | Komentářů: 8
    včera 15:11 | Komunita

    Bratislava OpenCamp pokračuje vo svojej tradícii a fanúšikovia otvorených technológií sa môžu tešiť na 4. ročník, ktorý sa uskutoční 25. 4. 2026 na FIIT STU v Bratislave. V súčasnosti prebieha prihlasovanie prednášok a workshopov – ak máte nápad, projekt, myšlienku, o ktoré sa chcete podeliť s komunitou, OpenCamp je správne miesto pre vás.

    Ladislav Hagara | Komentářů: 0
    včera 13:33 | IT novinky

    Krádež není inovace (Stealing Isn't Innovation). Koalice umělců, spisovatelů a tvůrců protestuje proti používání autorsky chráněných děl velkými technologickými společnostmi pro trénování AI systémů bez povolení či kompenzace.

    Ladislav Hagara | Komentářů: 18
    včera 12:22 | IT novinky

    Stát, potažmo ministerstvo vnitra plánuje zřízení nového, neveřejného virtuálního operátora, který by byl primárně určený na zajištěni kritické infrastruktury státu. Cílem je zajistit udržitelné, bezpečné, mobilní, vysokorychlostní datové a hlasové služby umožňující přístup ke kritickým aplikacím IZS a krizového řízení.

    karkar | Komentářů: 14
    včera 01:44 | Nová verze

    Byla vydána nová verze 10.0 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Vypíchnout lze nové balíčky ownCloud Infinite Scale a Uptime-Kuma.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (18%)
     (6%)
     (0%)
     (10%)
     (22%)
     (3%)
     (5%)
     (2%)
     (11%)
     (33%)
    Celkem 636 hlasů
     Komentářů: 17, poslední 22.1. 15:24
    Rozcestník

    Dotaz: Bash: Spravny zapis hodnoty premennej

    31.10.2010 10:35 Patrik Uhrak | skóre: 31 | blog: pato
    Bash: Spravny zapis hodnoty premennej
    Přečteno: 310×

    Zdravim.

    Snazim sa o spravny zapis v tomto pripade:

    #! /bin/bash
    DATE="$(which date)"

    NOW_CMD="$DATE +%s"
    TODAY_CMD="$DATE +%F"
    TOMORROW_CMD="$DATE -d tomorrow +%F"
    # potialto je to v poriadku

    # toto uz ale v poriadku nie je
    SINCE="$DATE "$($TODAY_CMD) ${1}" +%s"

    Potrebujem dostat vzdy aktualny cas v cykle a preto takto. Ci je to ten najidealnejsi sposob, neviem, ale ...

    Vysledok vyssie uvedeneho prikladu je takyto:

    pato@debian:~$ bash -x ./test.bash 15:00
    ++ which date
    + DATE=/bin/date
    + NOW_CMD='/bin/date +%s'
    + TODAY_CMD='/bin/date +%F'
    + TOMORROW_CMD='/bin/date -d tomorrow +%F'
    ++ /bin/date +%F
    + SINCE='/bin/date 2010-10-31'
    + '15:00 +%s'
    ./test.bash: line 50: 15:00 +%s: command not found

    Ako ho donutit, aby to 15:00 bral ako vstup pre date a nie ako novy prikaz? Tusim v kostiach, ze to bude trivialne, ale mna tu nic nenapada momentalne. Dakujem.


    Řešení dotazu:


    Odpovědi

    David Watzke avatar 31.10.2010 11:38 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Bash: Spravny zapis hodnoty premennej
    I kdybyste to zapsal správně, snažíte se spouštět něco jako
    $ date "2010-10-31 15:00" +%s
    date: nadbytečný operand „+%s“
    Více informací získáte příkazem „date --help“.
    což nedává smysl. Můžete to nejdřív objasnit?
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    31.10.2010 13:08 Patrik Uhrak | skóre: 31 | blog: pato
    Rozbalit Rozbalit vše Re: Bash: Spravny zapis hodnoty premennej

    Presne, ja tomu rozumiem, co sa tam deje. Moj problem je, ako takemuto chovaniu zabranit/predist? Keby ste uvodzil hodnoty pre date, aby sa chovali ako jeden retazec, tak by dal spravny vysledok. Ako toto ale aplikovat do mojho postupu z prveho prispevku?

    31.10.2010 13:44 mato
    Rozbalit Rozbalit vše Re: Bash: Spravny zapis hodnoty premennej
    tak ako hore uviedol david, musis potom pastnut vacsiu cast scriptu alebo aspon zistit a povedat co je logika scriptu .. tie tvoje ""treba escapnut, alebo prepisat na:
    
    DATE="`which date`"             # ; just in case
    
    NOW_CMD="`$DATE +%s`"
    TODAY_CMD="`$DATE +%F`"
    TOMORROW_CMD="`$DATE -d tomorrow +%F`"
    
    SINCE="`$DATE $($TODAY_CMD $1) +%s`"
    
    pricom tie uvodzovky su tam pre istotu, keby naahodou date cmd bol v nestandardnej ceste, napr /usr/very\ nasty\ location/bin

    pricom "2010-10-31 15:00" je blbost

    31.10.2010 14:42 Patrik Uhrak | skóre: 31 | blog: pato
    Rozbalit Rozbalit vše Re: Bash: Spravny zapis hodnoty premennej

    Dakujem za prispevok, ale mam par pripomienok:

    1. Co je blbost na tomto: "2010-10-31 15:00" ?

    Skus toto:

    date --date "2010-10-31 15:00" +%s

    2. Ako escapujes ty? Lebo ja ziadne escapovanie nevidim v tvojej uprave.

    3. V podstate si prepisal com som dal ja a plus jedna chyba. (ale to sa mi hovori, ked ja som mal vo svojom skriptu od zaciatku)

    K tej chybe, toto je tvoje:

    SINCE="`$DATE $($TODAY_CMD $1) +%s`"

    co sa da zapisat aj takto:

    SINCE="$(date --date $(date +%F 15:00) +%s)"

    Spravne to je v mojom rieseni, je nutne prv vykonat date +%F a az potom pridat 15:00 k tomu. ;)

     

    Toto je o tom prepisani vlastne;

    VAR1="`date +%s`"
    VAR2="$(date +%s)"
    echo "$VAR1"
    echo "$VAR2"

    Tie sposoby zapisu su totiz ekvivalentom. Akurat ten druhy je lepsie citatelny a je mozne vnorovat dalsie a dalsie prikazy. Vid vlastne moje riesenie tejto temy. ;)

     

    Kazdopadne, ziadna zast ani cokolvek ineho necitim. Snazil si sa pomoct, cenim si to a to je tak vsetko.

    31.10.2010 15:57 mato
    Rozbalit Rozbalit vše Re: Bash: Spravny zapis hodnoty premennej
    mne netrklo ze "2010-10-31 15:00" je datum a cas :) moja chyba

    ja som hore uviedol,ze je mozne pouzit alt. zapis, kde sa potom nestratis v uvodzovkach (alebo aspon nie tak rychlo)
    ako si doplnil date --date -> to uz ale meni podstatu toho, co ten script ma robit - preto som sa pytal, ze co chces dosiahnut a povedal, ze cmd "datum 14:00" je blbost .. v spojeni s prepinacom --date je to vsak uz cosi ine

    hlavne, ze si to vyriesil :)

    31.10.2010 16:51 Patrik Uhrak | skóre: 31 | blog: pato
    Rozbalit Rozbalit vše Re: Bash: Spravny zapis hodnoty premennej

    Ok, rozumiem. Ale popravde, to o tej blbosti mi pomohlo paradoxne najviac. Som ti chcel dat ten priklad a sa ukazalo, ze mi tam chybalo to --date. Samozrejme uplne vsade. :)

    Co sa ale tyka toho alternativneho zapisu, mne nepride az taky prehladny. ;) Ale mozno vec nazoru.

    31.10.2010 11:46 Dejv | skóre: 37 | blog: Jak ten blog nazvat ... ? | Ostrava
    Rozbalit Rozbalit vše Re: Bash: Spravny zapis hodnoty premennej

    Dobry den

    Nepomohly by zpetne lomitka ?

    SINCE="$DATE \"$($TODAY_CMD) ${1}\" +%s"

    Pevně věřím, že zkušenější uživatelé mě s mými nápady usměrní a pošlou tam, kam tyto nápady patří...
    31.10.2010 13:18 Patrik Uhrak | skóre: 31 | blog: pato
    Rozbalit Rozbalit vše Re: Bash: Spravny zapis hodnoty premennej

    Dakujem, to som uz skusal, zial to nepomaha. Samotna hodnota SINCE je sice v spravnom tvare aj uvodzenie je spravne, ale pri jeho vykonani opat nastane rovnaky problem. Vid nizsie:

    DATE="$(which date)"

    NOW_CMD="$DATE +%s"
    TODAY_CMD="$DATE +%F"
    TOMORROW_CMD="$DATE -d tomorrow +%F"
    # potialto je to v poriadku

    # toto uz ale v poriadku nie je
    SINCE="$DATE \"$($TODAY_CMD) ${1}\" +%s"
    $SINCE

    a vysledok:

    pato@debian:~$ bash -x ./test.bash 15:00
    ++ which date
    + DATE=/bin/date
    + NOW_CMD='/bin/date +%s'
    + TODAY_CMD='/bin/date +%F'
    + TOMORROW_CMD='/bin/date -d tomorrow +%F'
    ++ /bin/date +%F
    + SINCE='/bin/date "2010-10-31 15:00" +%s'
    + /bin/date '"2010-10-31' '15:00"' +%s
    /bin/date: extra operand `15:00"'
    Try `/bin/date --help' for more information.

    Kazdopadne dakuje, sam som to nespomenul predtym.

    31.10.2010 14:28 Patrik Uhrak | skóre: 31 | blog: pato
    Rozbalit Rozbalit vše Re: Bash: Spravny zapis hodnoty premennej

    Vyriesene. Chyba bola trivialna, spravna syntax pre konvert daneho casu je nasledovna:

    date --date "cas" +%[moznosti] # z hlavy som to pisal a nejak som pozabudol

    Takze riesenie bolo uz v prvom mojom prispevku v poriadku, az na tu malickost:

    DATE="$(which date)"

    NOW_CMD="$DATE +%s"
    TODAY_CMD="$DATE +%F"
    TOMORROW_CMD="$DATE -d tomorrow +%F"

    for INDEX in {1..9}
    do
    SINCE="$($DATE --date "$($TODAY_CMD) ${1}:0${INDEX}" +%s)"
    sleep 1
    done

    a vysledok je presne ako som pozadoval, s kazdou jednou iteraciou ziskat aktualny cas:

    pato@debian:~$ bash -x ./test.bash 14:00
    ++ which date
    + DATE=/bin/date
    + NOW_CMD='/bin/date +%s'
    + TODAY_CMD='/bin/date +%F'
    + TOMORROW_CMD='/bin/date -d tomorrow +%F'
    + for INDEX in '{1..9}'
    +++ /bin/date +%F
    ++ /bin/date --date '2010-10-31 14:00:01' +%s
    + SINCE=1288533601
    + sleep 1
    + for INDEX in '{1..9}'
    +++ /bin/date +%F
    ++ /bin/date --date '2010-10-31 14:00:02' +%s
    + SINCE=1288533602
    + sleep 1
    + for INDEX in '{1..9}'
    +++ /bin/date +%F
    ++ /bin/date --date '2010-10-31 14:00:03' +%s
    + SINCE=1288533603
    + sleep 1
    + for INDEX in '{1..9}'
    +++ /bin/date +%F
    ++ /bin/date --date '2010-10-31 14:00:04' +%s
    + SINCE=1288533604
    + sleep 1
    + for INDEX in '{1..9}'
    +++ /bin/date +%F
    ++ /bin/date --date '2010-10-31 14:00:05' +%s
    + SINCE=1288533605
    + sleep 1
    + for INDEX in '{1..9}'
    +++ /bin/date +%F
    ++ /bin/date --date '2010-10-31 14:00:06' +%s
    + SINCE=1288533606
    + sleep 1
    + for INDEX in '{1..9}'
    +++ /bin/date +%F
    ++ /bin/date --date '2010-10-31 14:00:07' +%s
    + SINCE=1288533607
    + sleep 1
    + for INDEX in '{1..9}'
    +++ /bin/date +%F
    ++ /bin/date --date '2010-10-31 14:00:08' +%s
    + SINCE=1288533608
    + sleep 1
    + for INDEX in '{1..9}'
    +++ /bin/date +%F
    ++ /bin/date --date '2010-10-31 14:00:09' +%s
    + SINCE=1288533609
    + sleep 1

    Takze uz je to v poriadku. Dakujem vsetkym.

     

    
                

    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.