Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[Rozwiązano] Bash - Poprawna wymowa: espeak -v pl "godzina `date +%R`" - w formacie

21 Lut 2020 01:54 102 2
  • Poziom 2  
    heYA,
    mój kod jest inspiracją kodu kolegi z Wrocławia - pozdrawiam ;)
    problem polegał na wymowie czasu przez espeak w formacie radiowym czyli: [minut] po [godzinie] i za [minut] [godzina]
    oto rozwiązanie:
    Kod: bash
    Zaloguj się, aby zobaczyć kod


    kod nie jest przetestowany w 100%-tach, wiec jeżeli znajdziesz błędy powiadom mnie o tym :) maniak24(malpa)o2.pl

    Pozdrawiam
    MAniak
  • Pomocny post
    Poziom 27  
    chyba trzeba użyć
    Code:
    VAR="`date +%_H:%_M`"
    bo %R zwraca 09:01 (wiodące zera) i skrypt wysypie się na porównaniach.

    Dodano po 8 [minuty]:

    no albo wymuś podstwę dziesiętną w evaluacji :)
    Code:

    godzina=$((10#${VAR:0:2}))
    minuta=$((10#${VAR:3:2}))
  • Poziom 2  
    Niekoniecznie.
    Działanie arytmetyczne powoduje obcięcie zera, także na porównaniach skrypt się nie wysypuje. Wysypuje się natomiast tylko kiedy minuta=07, 08, 09. (prawdopodobnie przy godzinie również :) )
    ./czas-to-txt.sh: linia 77: 09: wartość za duża na podstawę (błędny znacznik to "09")

    Po zastosowaniu Twojej podpowiedzi VAR="`date +%_H:%_M`" skrypt sypie się właśnie na porównaniach, jednak po zastosowaniu działań arytmetycznych na zmiennych, działa bez zarzutu ;)

    Dzięki za podpowiedź

    -------------------------------------------------------poprawiony kod ------------------------------------------------------->

    Kod: bash
    Zaloguj się, aby zobaczyć kod



    Dodano po 42 [minuty]:

    Rozwiązanie w treści dyskusji