在我的shell脚本中,我在输出文件中写入while循环的结果,因此输出文件如下所示:
23
34
45
35
但是当我使用>而不是>>我只得到最后一个数字,因为之前的每个数字都会被覆盖,而我首先想要总结所有这些数字,然后才覆盖该文件,以便第二次使用新数字运行shell脚本。 我想知道是否有办法做到这一点。
答案 0 :(得分:0)
您可以通过将结果存储在数组x []
中来执行此类操作x=($(for i in {1..4}; do echo $i; ((j+=i));done;echo $j))
echo ${x[@]}
1 2 3 4 10
然后,您可以使用保存的输出将您想要的任何内容写入文件,以生成文件的内容。
备注:强>
在最简单的情况下,数组的工作方式如下:
x=(1 2 3 4)
echo ${x[@]}
1 2 3 4
我将循环控制变量$i
加到变量$j
x=($(xyz))
创建一个数组x[]
,其元素设置为运行命令xyz
{1..4}
只为一个包含4次迭代的循环创建一个简单的数字列表
echo ${x[@]}
打印数组x[]
我将添加的结果存储在数组的最后一个元素中。