Wie kann ich mit einem Bash Script ein Baum zeichnen?
Schreiben Sie ein Skript, welches einen Baum auf der Konsole zeichnet! Die Breite des Baumes wird im Skript nachgefragt! Beispiel: $ ./02_baum.sh Wie breit soll Ihr Baum werden:Wie breit soll Ihr Baum werden: 10
*
***
*****
*******
*********
*
2 Antworten
Weißt du, wie man generell eine Zählschleife in der Bash erzeugt? (Es gibt mehrere Möglichkeiten.)
Weißt du, wie man den Benutzer nach einer Zahl fragt und diese in eine Variable setzt?
Weißt du, wie man eine Variable einsetzt?
Woher ich das weiß:Berufserfahrung – Software-Entwickler
Nutzer, der sehr aktiv auf gutefrage ist
Bevor Du anfängst, das Ding in bash zeichenweise zusammenzudengeln, mach' vieleicht sowas in der Art hier:
#!/bin/sh
if [ "x$1" = "x" ]
then
maxbreite=11
else
maxbreite=$1
fi
# Initialisierung
breite=1
offset=`expr $maxbreite / 2 + 1`
maxoffset=$offset
# breiter werdender Baum, funktioniert nur fuer ungerade Maximalbreiten,
# sonst Maximalbreite falsch
while [ $breite -le $maxbreite ]
do
printf "%${offset}s" " "
echo '\t' | expand -t $breite | sed 's/ /*/g'
breite=`expr $breite + 2`
offset=`expr $offset - 1`
done
# Stamm
printf "%${maxoffset}s*\n" " "
printf "%${maxoffset}s*\n" " "
exit 0