首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >快速打印和递增数组值

快速打印和递增数组值
EN

Stack Overflow用户
提问于 2012-11-27 01:09:22
回答 4查看 946关注 0票数 3

我正在编写一个bash脚本,在这个脚本中,我需要打印一个数字,而它的增量如下:

代码语言:javascript
复制
0000
0001
0002
0003
0004

我做了这件事,但没有起作用:

代码语言:javascript
复制
#!/bin/bash
i=0
pass[0]=0
pass[1]=0
pass[2]=0
pass[3]=0
for i in $(seq 1 9)
    pass[3]="$i"
    echo ${pass[*]}
done

我将脚本粘贴到cli上,得到了这个结果。

代码语言:javascript
复制
$ ~ #!/bin/bash
$ ~ i=0
$ ~ pass[0]=0
$ ~ pass[1]=0
$ ~ pass[2]=0
$ ~ pass[3]=0
$ ~ for i in $(seq 1 9)
>     pass[3]="$i"
bash: error sintáctico cerca del elemento inesperado `pass[3]="$i"'
$ ~     echo ${pass[*]}
0 0 0 0
$ ~ done
bash: error sintáctico cerca del elemento inesperado `done'
$ ~ 
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-11-27 01:13:18

使用这个纯bash脚本:

代码语言:javascript
复制
for ((i=0; i<10; i++)); do
   printf "%04d\n" $i
one

输出:

代码语言:javascript
复制
0000
0001
0002
0003
0004
0005
0006
0007
0008
0009
票数 6
EN

Stack Overflow用户

发布于 2012-11-27 01:13:36

代码语言:javascript
复制
#!/bin/bash
i=0
pass[0]=0
pass[1]=0
pass[2]=0
pass[3]=0
for i in $(seq 1 9)
do
    pass[3]="$i"
    echo ${pass[*]}
done

你忘了说“do”了吗?

票数 2
EN

Stack Overflow用户

发布于 2012-11-27 01:55:41

对于那些喜欢扩展的人,您还可以这样做:

代码语言:javascript
复制
printf "%s\n" {0001..0009}

代码语言:javascript
复制
printf "%.4d\n" {1..9}

没有循环!

您可以存储在数组中,如下所示:

代码语言:javascript
复制
$ myarray=( {0001..0009} )
$ printf "%s\n" "${myarray[@]}"
0001
0002
0003
0004
0005
0006
0007
0008
0009
$ echo "${myarray[3]}"
0004
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13569686

复制
相关文章

相似问题

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