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 10:44 | Komunita

Společně s openSUSE Conference 2018 probíhá dnes v Praze na Fakultě informačních technologií ČVUT jednodenní seminář CryptoFest 2018 (Twitter). Přednášky lze sledovat online na YouTube nebo na CCC.

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

Barton George, zakladatel a vedoucí projektu Sputnik, představil na svém blogu čtyři nové mobilní pracovní stanice Dell Precision s předinstalovaným Ubuntu. Jedná se o modely 3530, 5530, 7530 a 7730. Mobilní pracovní stanice budou certifikovány pro RHEL 7.5.

Ladislav Hagara | Komentářů: 6
dnes 01:11 | Nová verze

Vyšla verze 5.12 prohlížeče map a GPS logů GPXSee. Nová verze přidává podporu Garmin JNX map a přináší mírné zlepšení výkonu/UX.

Martin Tůma | Komentářů: 0
včera 12:11 | Komunita

V Praze na Fakultě informačních technologií ČVUT probíhá openSUSE Conference 2018. Přednášky lze sledovat také online. Aktuální dění lze sledovat na Twitteru. Stisknutím zeleného tlačítka bylo dnes dopoledne vydáno openSUSE Leap 15.0.

Ladislav Hagara | Komentářů: 7
včera 11:44 | Komunita

Na Steamu probíhá do 28. května akce s názvem Spring Cleaning (Jarní úklid). V rámci akce lze hrát hry Don't Starve Together, Cities: Skylines, Tyranny, Borderlands 2, Middle-earth: Shadow of Mordor a Left 4 Dead 2 běžící na Linuxu zdarma [GamingOnLinux].

Ladislav Hagara | Komentářů: 2
24.5. 23:23 | Humor

Nová služba České pošty nazvaná Bezpečné úložiště nabízí až 100GB kapacitu pro "bezpečnou správu Vašich dat pod patronací důvěryhodného partnera Česká pošta".

… více »
Lol Phirae | Komentářů: 56
24.5. 22:14 | Bezpečnostní upozornění

Nova kritická hrozba VPNfilter bola zistená po dlhšiej spolupráce Talos s verejnými i súkromnými bezpečnostnými agentúrami. VPNfilter ohrozuje približne 500 000 zariadení v približne 54 krajinach. Zasiahnutí výrobcovia sú Linksys, MikroTik, NETGEAR, TP-Link (SOHO), QNAP (NAS). Správanie malwaru je nebezpečnej povahy, čo môže v určitých prípadoch spôsobiť škody veľkého rozsahu. Často tieto zariadenia sú na perimetri sieťe bez ochrany.

ewew | Komentářů: 5
24.5. 21:55 | Pozvánky

CSNOG (Czech and Slovak Network Operators Group), první československé setkání síťových operátorů, se uskuteční 11. a 12. června v Brně. Akce je určena poskytovatelům internetového připojení, síťovým operátorům, provozovatelům registrů, internetovým odborníkům a všem zájemcům o internetové a síťové technologie. Program je zaměřený na odborná, technická témata jako například síťová architektura, bezpečnost sítí, zpracování dat, DNS a další. Nutná je registrace.

Ladislav Hagara | Komentářů: 0
24.5. 21:33 | Komunita

Na Humble Bundle lze získat počítačovou hru, simulátor hackování, Hacknet (Wikipedie, YouTube) běžící také v Linuxu zdarma. Tentokrát je ke stažení také verze bez DRM a navíc soundtrack. Speciální akce končí v sobotu v 19:00.

Ladislav Hagara | Komentářů: 0
23.5. 20:11 | Zajímavý software

Alexandre Julliard oznámil jménem vývojového týmu Wine vydání první verze 1.0 knihovny vkd3d určené pro překlad volání Direct3D 12 na Vulkan. Zdrojové kódy vkd3d jsou k dispozici pod licencí LGPLv2.1+.

Ladislav Hagara | Komentářů: 1
Používáte pro některé služby inetd?
 (35%)
 (23%)
 (42%)
Celkem 155 hlasů
 Komentářů: 5, poslední 22.5. 16:46
    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: 238×

    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"

    Pevne verim, ze zkusenejsi uzivatele me s mymi napady usmerni a poslou tam, kam tyto napady patri...
    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.