首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Unix Shell脚本:Shell循环

Unix Shell脚本:Shell循环
EN

Stack Overflow用户
提问于 2016-06-23 08:19:57
回答 3查看 6.5K关注 0票数 1

我想要使用WHILE循环在下面的模式中打印数字。

代码语言:javascript
复制
0
01
012
0123
.....
......
0123456789

我的尝试:

代码语言:javascript
复制
#!/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    

获得产出:

代码语言:javascript
复制
0
1
2
3
4
5
6
7
8
9
10
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-06-23 08:28:05

当您简单地将最新的计数附加到行输出时,只需将其作为文本。

代码语言:javascript
复制
#!/bin/bash

a=0
out=''

while [ $a -lt 10 ]
do
    out=$out$a
    echo $out
    a=`expr $a + 1`
done

另外,le是小于或等于的,所以以10结尾。使用lt 10le 9

票数 4
EN

Stack Overflow用户

发布于 2016-06-23 09:55:16

如果使用{x..y} shell,则可以利用表单bash的序列表达式,并使用特殊参数$_,该参数通常扩展到前面命令的最后一个参数。

代码语言:javascript
复制
#/bin/bash
i=
for i in {0..9}
do
     echo "$_$i"
done
票数 1
EN

Stack Overflow用户

发布于 2017-11-20 11:38:37

代码语言:javascript
复制
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  
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37985926

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档