我正在尝试以以下形式绘制一棵树:
*
***
*****
*******
*********
正如您所见,我需要每一行都有空格和 "*" 星号,但是我无法得到想要的效果。
#!/bin/bash
display_tree() {
local rows=$1
local columns=$2
for ((i=0; i<$rows; i++))
do
#spaces loop
for ((j=0; j<$columns; j++))
do
echo -n " "
#drawing tree loop
for ((a=0; a<$(($i + 1)); a++))
do
echo -n "*"
done
done
echo
done
}
if [ $# -eq 2 ]; then
display_tree $1 $2
else
echo "Usage: $0 rows columns"
fi
printf "a=%s\ti=%s\tj=%s\n" $a $i $j > "/dev/tty????"
,你将更好地理解脚本的内部。在这里,???? 是在另一个窗口中运行tty
的结果,并将该数字替换为我的示例中的 '????'。或者,你可以省略> "/dev/tty..."
并将输出与你的圣诞树混合在一起。祝你好运。 - shellter