Sida 1 av 1

Varför fungerar inte detta scriptet?

Postat: 11 dec 2012, 13:23
av look2
Har gjort ett litet script, där jag "lånat" inspiration från andra script och modifierat det så att det passa mig, men nånting går fel,

SCRIPT:

Kod: Markera allt

#!/bin/bash

#global
RRDDataDirectory="/home/look2/rrddata/"
#sensors
KontorTempSensor="28.71AF6E040000"
OutsideTempSensor="28.EADD6E040000"
GastrumTempSensor="28.39C36E040000"
#datafiles
RRDDataFile1="kontor.rrd"
RRDDataFile2="outside_temp.rrd"
RRDDatafile3="gastrum.rrd"
# Get temps form OWFS
KontorTemp=`cat /mnt/1wire/$KontorTempSensor/temperature|sed -e s/" "//g|awk '{$1=$1 + 0.005;printf "%.2f", $1}'`
OutsideTemp=`cat /mnt/1wire/$OutsideTempSensor/temperature|sed -e s/" "//g|awk '{$1=$1 + 0.005;printf "%.2f", $1}'`
GastrumTemp=`cat /mnt/1wire/$GastrumTempSensor/temperature|sed -e s/" "//g|awk '{$1=$1 + 0.005;printf "%.2f", $1}'`
#Update RRD database
rrdtool update $RRDDataDirectory$RRDDataFile1 N:$KontorTemp
rrdtool update $RRDDataDirectory$RRDDataFile2 N:$OutsideTemp
rrdtool update $RRDDataDirectory$RRDDataFile3 N:$GastrumTemp

echo Kontoret: $KontorTemp
echo Ute: $OutsideTemp
echo Gästrum: $GastrumTemp
och här är resultatet:

Kod: Markera allt

look2@fserv:~/bin$ sudo ./get_temp.sh
ERROR: opening '/home/look2/rrddata/': Är en katalog
Kontoret: 21.57
Ute: -2.68
Gästrum: 20.63
Det verkar vara raden: rrdtool update $RRDDataDirectory$RRDDataFile3 N:$GastrumTemp
som strular till det, komenterar jag bort den, så får jag inget fel...

Re: Varför fungerar inte detta scriptet?

Postat: 11 dec 2012, 14:39
av mcNisse
Skript gör skillnad på stora och små bokstäver i variabelnamn

Kolla skillnaden i stavning av dessa variabler :)

Kod: Markera allt

RRDDatafile3
RRDDataFile3
Det är två olika variabler. Skriv dem på samma sätt och skriptet kommer att fungera.

Re: Varför fungerar inte detta scriptet?

Postat: 11 dec 2012, 21:29
av look2
Vad pjåskigt...
Borde ju fatta vad jag menade..
Men tack för hjälpen :)

Re: Varför fungerar inte detta scriptet?

Postat: 22 dec 2012, 19:09
av Johnny Rosenberg
Det är ju det som är nackdelen med att man inte behöver deklarera sina variabler. Hade man behövt det, hade du fått ett felmeddelande som säger att variabeln inte existerar och då hade det kanske varit lite lättare att hitta felet.