我想要使用WHILE循环在下面的模式中打印数字。
0
01
012
0123
.....
......
0123456789我的尝试:
#!/bin/sh
a=0
b=0
while [ $a -le 10 ]
do
while [ $b -le $a ]
do
echo -n "$b"
b=`expr $b + 1`
done
echo
a=`expr $a + 1`
done 获得产出:
0
1
2
3
4
5
6
7
8
9
10发布于 2016-06-23 08:28:05
当您简单地将最新的计数附加到行输出时,只需将其作为文本。
#!/bin/bash
a=0
out=''
while [ $a -lt 10 ]
do
out=$out$a
echo $out
a=`expr $a + 1`
done另外,le是小于或等于的,所以以10结尾。使用lt 10或le 9。
发布于 2016-06-23 09:55:16
如果使用{x..y} shell,则可以利用表单bash的序列表达式,并使用特殊参数$_,该参数通常扩展到前面命令的最后一个参数。
#/bin/bash
i=
for i in {0..9}
do
echo "$_$i"
done发布于 2017-11-20 11:38:37
a=0
b=1
while [ $a -lt 10 ]
do
a=0
while [ $a -lt $b ]
do
echo -n $a
a=`expr $a + 1 `
done
echo
b=`expr $b + 1`
done https://stackoverflow.com/questions/37985926
复制相似问题