Linux 15.036 Themen, 107.107 Beiträge

Geschachtelte "while - Schleife" läuft nicht richtig

chris45 / 5 Antworten / Baumansicht Nickles

Hallo zusammen,

ich möchte in etwa folgende Ausgabe erreichen :

0/0
0/1
0/2
0/3
1/0
1/1
.
.
.
3/2
3/3
3/4

und habe dazu folgendes Script geschrieben :

clear
declare -i zahl=0
declare -i nummer=0
while [ $zahl -le 3 ]
do
while [ $nummer -le 3 ]
do
echo $zahl / $nummer
nummer=$[nummer+1]
done
zahl=$[zahl+1]
done

Es bricht aber leider nach dem ersten Schleifendurchlauf ab.
Wo liegt mein Denkfehler ? Was muß ich anders machen ?

Mit freundlichen Grüßen und herzlichem Dank im Voraus für Hilfe

Chris

bei Antwort benachrichtigen
(Anonym) chris45 „Geschachtelte "while - Schleife" läuft nicht richtig“
Optionen

Sicher, dass das ins Linux Forum passt?
Have a lot of fun!
Anstosser

bei Antwort benachrichtigen
chris45 (Anonym) „Sicher, dass das ins Linux Forum passt? Have a lot of fun! Anstosser“
Optionen

Ist doch ein Bash - Script, und soviel ich weiß handelt es sich bei der Bash - Shell um die Linux - Standardshell.

Chris

bei Antwort benachrichtigen
REPI chris45 „Geschachtelte "while - Schleife" läuft nicht richtig“
Optionen

An bei der Script:

#!/bin/sh
zahl=0
nummer=0
while [ $zahl -le 3 ] ; do
while [ $nummer -le 3 ] ; do
echo $zahl"/"$nummer
nummer=$[$nummer+1]
done
nummer=0
zahl=$[$zahl+1]
done

Beachte das im verkürzten Test [ $zahl -le 3 ], zwischen den eckigen Klammern und dem Ausdruck unbedingt ein Leerzeichen stehen muss !!

Hoffe es hilft !



repi




Es empfiehlt sich immer, etwas Linux im Hause zu haben.
bei Antwort benachrichtigen
chris45 REPI „An bei der Script: !/bin/sh zahl 0 nummer 0 while zahl -le 3 do while nummer -le...“
Optionen

Hallo "repi",

danke für Dein Script,
werd' es gleich mal ausprobieren.

Chris

bei Antwort benachrichtigen
cnbn@gmx.de (Anonym) REPI „An bei der Script: !/bin/sh zahl 0 nummer 0 while zahl -le 3 do while nummer -le...“
Optionen

Hallo "repi",

Deine Lösung des Problems funktioniert einwandfrei.
Nochmals Danke

Chris

bei Antwort benachrichtigen