linux - bash 打印和递增数组值

标签 linux arrays bash printing sh

我正在制作一个 bash 脚本,我需要在其中打印一个数字,同时它像这样递增:

0000
0001
0002
0003
0004

我做了这个但是没有用:

#!/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 上,我明白了。

$ ~ #!/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'
$ ~ 

最佳答案

使用这个纯 bash 脚本:

for ((i=0; i<10; i++)); do
   printf "%04d\n" $i
one

输出:

0000
0001
0002
0003
0004
0005
0006
0007
0008
0009

关于linux - bash 打印和递增数组值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13569686/

相关文章:

linux - 用不同的用户重启 Rabbitmq 集群

linux - Windows 应用程序使用 SharpSVN - 需要将服务器迁移到 linux SVN 服务器 - 它仍然有效吗?

linux - 根据文件名 chgrp 目录中的文件

linux - 如何设置 git 和 maven 协同工作?

android - Android 中 Objective C 的共享首选项

bash - while 循环中的管道

c++ - 从输入文件读取数据到数组时出错

javascript - 空数组中的 Angular 推送项

linux - `find'如何计算文件的大小?

regex - 将匹配文件列出到数组中