Sponsor-Board.de
[BASH] Kuriose Fehlermeldung

+- Sponsor-Board.de (https://www.sponsor-board.de)
+-- Forum: Community (/forumdisplay.php?fid=56)
+--- Forum: Hilfe (/forumdisplay.php?fid=102)
+---- Forum: Scripting (/forumdisplay.php?fid=108)
+---- Thema: [BASH] Kuriose Fehlermeldung (/showthread.php?tid=62162)


[BASH] Kuriose Fehlermeldung - cyberwall - 27.12.2016 13:07

Moin Moin,
derzeit arbeite ich an einem Bash-Script, welches eine Temperatur ausliest und diese mithilfe einer einfachen IF-Anweisung bewerten und dementsprechend reagieren soll. Nun soweit so gut.
Alles Einzelteile funktionieren soweit, jedoch macht das Script im Ganzen ärger.

Code:
temp="echo "scale=0; $(grep 't=' /sys/bus/w1/devices/28-83330028a560/w1_slave | awk -F 't=' '{print $2}')/1000" | bc -l"


Mit dem Code soll das Script die Milligrad aus dem Messergebnis des W1-Temp-Sensors extrahieren und mithilfe von Basic Calculator durch 1000 teilen, damit ich Grad Celsius erhalte. Wenn ich die Echo Anweisung alleine in der Shell ausführe, ohne weiteren Code, wird mir das gewünschte Ergebnis geliefert. Nur jetzt kommt folgender Fehler:

Code:
./script-test-2712.sh: Zeile 19: 18250/1000 | bc -l: Datei oder Verzeichnis nicht gefunden


Nur weiß ich jetzt nicht was er nicht findet. Denn den Pfad zu w1_slave habe ich jetzt wahrscheinlich 100x kontrolliert...


Vielen Dank für eure Hilfe!


Liebe Grüße


RE: [BASH] Kuriose Fehlermeldung - GYJohn - 27.12.2016 18:14

Hallo,

ist die Zeile:

temp="echo "scale=0; $(grep 't=' /sys/bus/w1/devices/28-83330028a560/w1_slave | awk -F 't=' '{print $2}')/1000" | bc -l"

Auch Zeile 19 wie unten in der Fehlermeldung?


RE: [BASH] Kuriose Fehlermeldung - Phinitris - 28.12.2016 13:10

Hi,
probier mal folgendes Smile

Code:
#!/bin/sh
scale=0
temp=$(echo $(grep 't=' /sys/bus/w1/devices/28-83330028a560/w1_slave | awk -F 't=' '{print $2}')/1000 | bc -l)
echo $temp