Portál AbcLinuxu, 2. listopadu 2025 22:51
i = 1
cislo_1 = 100
cislo_2 = 200
cislo_3 = 300
Cislo $i se bude postupne zvetsovat o jednicku a ja bych potreboval, aby se mi vypisovaly hodnoty cisel 1 az 3, neco jako $(cislo_$i). Takto to ale bohuzel nefunguje.
Diky za pomoc ...
Zkusil bych to perlem (první řádek může být u tebe jinej):
#!/usr/bin/perl -w
my @cislo = ();
my $i = 0;
for($i = 0; $i <=2; $i++){
$cislo[$i] = 100*($i+1);
print "$cislo[$i]\n";
}
nebo trochu nepřehlednější verze:
#!/usr/bin/perl -w
for(1 .. 3){$cislo[$_]=100*$_; print "$cislo[$_]\n";}
což by se v bashi dalo použít jako příkaz (zkus to samostatně):
$ perl -e 'for(1 .. 3){$cislo[$_]=100*$_; print "$cislo[$_]\n";}'
čímž dosáhneš úplně stejnýho výsledku.
Je možné, že i v bashi se daj používat arrays, ale nevím o tom
Jáchym
i=1
echo cislo_${i}
vyraz ${} vyexpanduje vyraz v zavorce
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.