Mehrere Variabeln die das selbe machen mit einer Zeile?
Mehrere Variabeln die das selbe machen mit einer Zeile?
Hallo,
die Programmierer haben dafür sicherlich einen prima Namen.
Ich beschreibe es einmal so:
Wie kann ich so etwas mit einer Zeile realisieren?
var1=`mach etwas`
var2=`mach etwas`
var3=`mach etwas`
var4=`mach etwas`
var5=`mach etwas`
var6=`mach etwas`
var7=`mach etwas`
var8=`mach etwas`
var9=`mach etwas`
var10=`mach etwas`
Diese ganze Geschichte mit den Klammern und Anführungszeichen sind wirklich gar nicht so einfach zu kapieren. Eine umfangreiche FAQ Seite würde mir wahrscheinlich auch öfters mal weiterhelfen können. Leider habe ich soetwas bis jetzt noch nicht gefunden.
Liebe Grüße und danke für Euere Hilfe
Manfred
die Programmierer haben dafür sicherlich einen prima Namen.
Ich beschreibe es einmal so:
Wie kann ich so etwas mit einer Zeile realisieren?
var1=`mach etwas`
var2=`mach etwas`
var3=`mach etwas`
var4=`mach etwas`
var5=`mach etwas`
var6=`mach etwas`
var7=`mach etwas`
var8=`mach etwas`
var9=`mach etwas`
var10=`mach etwas`
Diese ganze Geschichte mit den Klammern und Anführungszeichen sind wirklich gar nicht so einfach zu kapieren. Eine umfangreiche FAQ Seite würde mir wahrscheinlich auch öfters mal weiterhelfen können. Leider habe ich soetwas bis jetzt noch nicht gefunden.
Liebe Grüße und danke für Euere Hilfe
Manfred
Ich hoffe, du meintest shell programmierung (bash):
In einer Zeile kannst du es haben, wenn du die Zeilen mit ; getrennt hintereinanderhängst.
Code: Alles auswählen
for i in $(seq 1 10)
do
eval "var$i=\`mach etwas\`"
done
Hallo,
danke für Euere Hilfe.
Wenn ich quasi ein päckchen habe funktioniert das super mit:
for i in $(seq 1 10)
do
eval "var$i=\`mach etwas\`"
done
Jetzt brauche ich aber noch ein weiteres.
So geht es leider nicht (;-((
for i in $(seq 1 10)
do
eval "tiere$i=\`mach etwas\`"
done
Auch das geht nicht:
for tir in $(seq 1 10)
do
eval "tiere$tir=\`mach etwas\`"
done
Was wäre da die Lösung?
In meiner ersten Zeile des Scriptes steht
#!/bin/sh
Ich denke daran wird es wohl kaum liegen.
Danke und liebe Grüße
Manfred
danke für Euere Hilfe.
Wenn ich quasi ein päckchen habe funktioniert das super mit:
for i in $(seq 1 10)
do
eval "var$i=\`mach etwas\`"
done
Jetzt brauche ich aber noch ein weiteres.
So geht es leider nicht (;-((
for i in $(seq 1 10)
do
eval "tiere$i=\`mach etwas\`"
done
Auch das geht nicht:
for tir in $(seq 1 10)
do
eval "tiere$tir=\`mach etwas\`"
done
Was wäre da die Lösung?
In meiner ersten Zeile des Scriptes steht
#!/bin/sh
Ich denke daran wird es wohl kaum liegen.
Danke und liebe Grüße
Manfred
Sorry, ich verstehe nicht, was Du mit Päckchen meinst. Die for-Schleife? Und "es geht nicht" sagt mir auch nichts. Schlägt der Aufruf des Scripts fehl oder stimmt das Ergebnis nicht?
Tip: zum Debuggen von Shell-Scripten hilft bisweilen
Tip: zum Debuggen von Shell-Scripten hilft bisweilen
Code: Alles auswählen
sh -x scriptdatei.sh
ManfredG hat geschrieben: for tir in $(seq 1 10)
do
eval "tiere$tir=\`mach etwas\`"
done
Code: Alles auswählen
for tir in $(seq 1 10)
do
eval "tiere${tir}=\`mach etwas\`"
done
Hallo Burns,
nein, leider funktioniert das auch nicht.
Ich bekomme dann in der erzeugten Datei immer solche Sachen:
Hast Du noch eine Idee?
Liebe Grüße
Manfred
nein, leider funktioniert das auch nicht.
Ich bekomme dann in der erzeugten Datei immer solche Sachen:
Code: Alles auswählen
ARRAY(0x80f57ac)
Liebe Grüße
Manfred