for循环在bash中创建比预期更多的整数

时间:2020-10-13 08:15:35

标签: linux bash integer-arithmetic

我有两个Dirs baseto_movebase中有10个文件,它们被命名为 0 1 2 3 4 5 6 7 8 90 1 2中的3个文件to_move。我想要的是将to_move中的3个文件移动到base,并将它们的名称更改为10 11 12

在目录to_move中,我运行命令

tmp=$(ls);for item in ${tmp[@]};do dst=$((item+10));echo $dst $item;done 

我得到的是

10 0
11 1
12 2
11 1
20 10
21 11
22 12
23 13
24 14
25 15
26 16
27 17
28 18
29 19
12 2
30 20
31 21
32 22
33 23
34 24
35 25
36 26
37 27
38 28
13 3
14 4
15 5
16 6
17 7
18 8
19 9

这对我来说毫无意义,看来$(($item+10))$item有一些怪异的影响。

为什么会这样?以及如何修改命令以获取此输出?

10 0
11 1
12 2

0 个答案:

没有答案