salut a tous,
j’ai 1 soucis avec le script suivant :
[code]#!/bin/sh
param=$1
grp=$2
var=/usr/local/bin/owread -s localhost:4304 $param/temperature | tr -d " "
nb=0
#/1 pour suppression de la virgule
echo $var
var=$(echo “$var100/1" |bc)
echo $var
if [ $var > 0 ]
then
while [ $var -gt 2047 ]
do
nb=$nb+1
var=$(echo “$var/2” |bc)
done
nb=$(echo "$nb2048” |bc)
var=$(echo “ibase=10;obase=16;$var+$nb”|bc)
elif [ $var < 0 ]
then
var=$(echo “$var*-1” |bc) #1 pour revenir en positif
while [ $var -gt 2047 ]
do
nb=$nb+1
var=$(echo “$var/2” |bc)
done
nb=$(echo "$nb2048" |bc)
var=$(echo “ibase=10;obase=16;4096-$var+$nb+32768-2048”|bc)
fi
#verification si 4 caract
if [ ${#var} = 1 ]
then
var="00 0${var}"
elif [ ${#var} = 2 ]
then
var="00 ${var}"
elif [ ${#var} = 3 ]
then
var="0${var}“
var1=expr substr $var 1 2
var2=expr substr $var 3 2
var=”${var1} ${var2}“
elif [ ${#var} = 4 ]
then
var1=expr substr $var 1 2
var2=expr substr $var 3 2
var=”${var1} ${var2}"
fi
#echo "/usr/local/bin/groupwrite ip:localhost " $grp $var >> trace1w.txt
exec /usr/local/bin/groupwrite ip:localhost $grp $var
[/code]
Voici ce que ca donne a l’exe :
[code]# ./I_O_1wire.sh 28.BE78E1020000 4/6/51
24.25
./I_O_1wire.sh: 8: bc: not found
usage: /usr/local/bin/groupwrite url eibaddr val val …: Success
[/code]
j’imagine que bc ne doit plus etre utilisé, mais quoi a la place ?
j’espère que vous pourrez m’éclairer.
Arnaud