使用shell脚本用while语句打印出 * *** ***** *** *
时间: 2023-10-06 22:13:01 浏览: 99
可以使用以下的shell脚本来打印所需的图案:
```shell
#!/bin/bash
stars="*"
spaces=" "
count=1
while [ $count -le 5 ]; do
echo "$stars"
stars+="**"
count=$((count+1))
done
count=1
while [ $count -le 3 ]; do
echo "$spaces$stars"
spaces+=" "
stars=${stars%"**"}
count=$((count+1))
done
echo "$spaces$stars"
```
这段脚本使用两个循环来打印出所需的图案,第一个循环用于打印前五行,第二个循环用于打印后三行。在第一个循环中,stars变量会不断增加两个星号,而在第二个循环中,spaces变量会不断增加一个空格,并且stars变量会去除最后两个星号。
输出结果如下:
```
*
***
*****
***
*
```
相关问题
shell脚本使用while语句打印四行四列五角星
可以使用以下Shell脚本来打印四行四列五角星:
```
#!/bin/bash
i=1
while [ $i -le 4 ]
do
j=1
while [ $j -le 4 ]
do
echo " * "
echo " * * "
echo "* *"
echo " * * "
echo " * "
j=$((j+1))
done
i=$((i+1))
done
```
这个脚本使用了两个while循环,外循环控制行数,内循环控制列数。在内循环中,我们使用echo语句打印五角星的每一行。注意,我们在每一行前面添加了一些空格,以便使五角星在输出时居中。
编写shell脚本,要求使用while语句打印一个4行4列的星形图形
可以使用 `while` 循环语句来打印一个4行4列的星形图形,下面是一个简单的示例:
```shell
#!/bin/bash
# 初始化变量
i=1
j=1
while [ $i -le 4 ]
do
j=1
while [ $j -le 4 ]
do
if [ $i -eq $j ] || [ $i -eq 5-$j ]; then
echo -n "* "
else
echo -n " "
fi
let "j++"
done
echo ""
let "i++"
done
```
在这个脚本中,我们使用两层嵌套的 `while` 循环语句,外层循环控制行数,内层循环控制列数。在内层循环中,使用条件语句判断当前位置是否应该输出星号,如果是则输出 `*`,否则输出空格。最后在每次外层循环结束时,使用 `echo` 命令输出一个换行符,以便输出下一行。
阅读全文