Michelle Konzack <[EMAIL PROTECTED]> writes:

> ich versuche gerade folgendes:
>
> eine Datei:
>
> # album.alb
> T1=text1
> T2=text2
> T3=text3
>
> ein Script:
> #!/bin/bash
> source album_001.alb
> count=0
> while [ $count -lt 17 ] ; do
>     let count=count+1
>     SONG=T$count
>     echo $SONG
> done
>
> Also die Schleife funktioniert... - Nur nicht die Zeile "SONG=T$count"
> Die BASH sagt mir jedesmal:
>
> ./script: =T1: command not found

Bist du sicher, dass du uns oben das richtige Skript gezeigt hast?
Das wirft n�mlich keinen Fehler.  Jedenfalls nicht den von dir
genannten.  Aber die erste Zeile muss "source album.alb" hei�en.  Es
w�re nicht schlecht gewesen, wenn du das Gepostete auch getestet
h�ttest, statt uns raten zu lassen.

Dein Skript gibt aus:

T1
T2
[... usw., bis:]
T17

> Also ich gehe mal davon aus, das $count von einem arithmetischen Wert 
> in eine Zeichenkette umgewandelt werden mu�. (richtig ?) 

Nein.  Die Shell kennt nur Strings. (Es gibt zwar ein
"integer"-Attribut, aber das �ndert daran nichts - man braucht es auch
nicht unbedingt zu kennen.)

Ich nehme aber an, Du wolltest

text1
text2
text3

als Ergebnis.  Du kannst dazu zwar Arrays nehmen wie in einem anderen
Posting vorgeschlagen, ich w�rde aber auf kein unportables
bash-Konstrukt ausweichen, solange es nicht n�tig ist.  Mache aus

  SONG=T$count

ein

  eval SONG=\$T$count

Aber - wie gesagt - geraten, was das gew�nschte Ergebnis anbelangt.


HTH,

 Heike


-- 
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)

Antwort per Email an