Wie kann ich mit einem Bash Script ein Baum zeichnen?

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

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