Hantera temperaturer med bash.

Generella Linux-frågor och frågor gällande Linuxmjukvara som saknar egen forumkategori skall postas i detta forum
Kategoriregler
Vill du visa bilder i ditt inlägg? Använd funktionen "Ladda upp bilaga" nedanför textrutan!
Användarvisningsbild
Plutonium
Moderator
Inlägg: 1245
Blev medlem: 04 jan 2008, 02:34
Ort: Nossebro
Kontakt:

Hantera temperaturer med bash.

Inlägg av Plutonium »

Hej.
Har lite problem att behandla mina temp värden som givarna ger, vad som händer är att koden avrundar inte decimalerna utan bara heltal, 24,00 , 25,00 , 26,00 ,etc.

Jag använder mig av samma kod som de flesta här på forumet, så jag ser ingen logik i det heller.

Kod: Markera allt

VINDEN=`cat /mnt/1wire/10.2A7A7C010800/temperature|sed -e s/" "//g|awk ' {$1=$1 + 0.005;printf "%.2f", $1} '`

                # VINDEN
           
                VINDEN_INT=${VINDEN/.*}
        if [[ $VINDEN_INT -ne 85 ]]; then
           
           $MYSQL "INSERT INTO vinden (temp) VALUES ('$VINDEN')"
        
        else
           echo "No Feed vinden" &>/dev/null
           echo "Error" &>/dev/null
        fi



Hoppas någon kan se vad felet kan vara..

Mvh
Anders
http://essunga.org
Moderator - Temperatur.nu
Användarvisningsbild
elf98
Hemautomation - det är mer än en hobby
Inlägg: 5419
Blev medlem: 27 okt 2006, 13:49
Ort: Linköping
Kontakt:

Re: Hantera temperaturer med bash.

Inlägg av elf98 »

Jag ser inte något uppenbart fel.

är du säker på att det är bash som ställer till det och inte mysql?
Grundade m.nu & temperatur.nu

Driver temperatur.nu

Bild
gusse02
Wannabe
Inlägg: 10
Blev medlem: 12 aug 2008, 15:16
Ort: Danderyd

Re: Hantera temperaturer med bash.

Inlägg av gusse02 »

Jag ser felet! Problemet är med "locale". Antagligen har du en svensk miljö som förväntar sig decimalkomma men tyvärr levererar OWFS decimalpunkt. Detta kan man lätt tackla genom att ändra locale. Skriv "LANG= " framför awk så sätts locale till default för innevarande shell-kommando. OBS blanksteg efter likamed-tecknet.
Skriv svar