#!/bin/bash
filename=tempxx
ls /mnt/1wire | grep 10 > $filename
i=1
while read -r line; do
t$i=`cat /mnt/1wire/$line/temperature`
i=$((i+1));
done < $filename
pi@mumin3:~/datalogger $ ./wgivare_t.sh
./wgivare_t.sh: line 7: t1=25.375: command not found
./wgivare_t.sh: line 7: t2=25.625: command not found
./wgivare_t.sh: line 7: t3=25.5: command not found
./wgivare_t.sh: line 7: t4=30.4978: command not found
./wgivare_t.sh: line 7: t5=22.625: command not found
Förståss går det att göra så här, men jag vill alltid veta varför det blir syntaxfel:
Uttrycket på rad 7 tolkas (efter expandering) som ett kommando, inte en tilldelning.
Jag tror problemet är dynamiska variabelnam. En snabb googling säger att det inte verkar omöjligt att få till, men jag tror du gör klokt i att försöka undvika sådana konstruktioner.