/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
bash/tcsh for(int x=0;x<100;x++)
Fra : Morten Breum Mikkels~


Dato : 05-04-01 21:53

Hej,
Hvordan kan jeg lave en talrække i bash - man bash siger ikke rigtig
noget.

Jeg skal bruge tallene mellem 0 og 100 flere steder, men jeg kan ikke
lige gennemskue det.

"for x in 1 2 3 4 .... 100; do echo $x; done" giver mig det i bash,
men hvordan undgår jeg at skulle skrive alle tallene?

--
Morten Mikkelsen
The trouble with doing something right the first time is that
nobody appreciates how difficult it was.

 
 
Klaus Alexander Seis~ (05-04-2001)
Kommentar
Fra : Klaus Alexander Seis~


Dato : 05-04-01 22:01

Morten Breum Mikkelsen skrev:

> "for x in 1 2 3 4 .... 100; do echo $x; done" giver mig det
> i bash, men hvordan undgår jeg at skulle skrive alle tallene?

Hvis du har seq(1) installeret, kan du lave en

   for x in $(seq 1 100); do ...

mere portabelt (?), kan du forsøge noget i retning af

   for x in $(yes " " | nl | head -100); do ...

Hvis du ikke bryder dig om $(), så benyt `` i stedet.


// Klaus

--
><>°

Jacob Bunk Nielsen (05-04-2001)
Kommentar
Fra : Jacob Bunk Nielsen


Dato : 05-04-01 23:28

"Morten Breum Mikkelsen" <mbreum@odense.kullegionet.dak> writes:

> "for x in 1 2 3 4 .... 100; do echo $x; done" giver mig det i bash,
> men hvordan undgår jeg at skulle skrive alle tallene?

Hvad med en while-løkke i stedet:

tal=1
while [ $tal -le 100 ]
do
echo $tal
tal=$((tal+1))
done

Men det letteste er nok en for-løkke med seq som Klaus skriver.

--
Jacob
The future will be better tomorrow.

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408893
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste