0
在我的shell腳本,我寫在輸出文件while循環的結果,所以輸出文件看起來像這樣:覆蓋文件while循環在shell腳本完成之後才
23
34
45
35
但是,當我使用>而不是>>我只獲取最後一個數字,因爲每個先前的數字都會被覆蓋,而我首先要總結所有這些數字,然後纔會覆蓋該文件,以便第二次用新數字運行shell腳本。 我想知道是否有辦法做到這一點。
在我的shell腳本,我寫在輸出文件while循環的結果,所以輸出文件看起來像這樣:覆蓋文件while循環在shell腳本完成之後才
23
34
45
35
但是,當我使用>而不是>>我只獲取最後一個數字,因爲每個先前的數字都會被覆蓋,而我首先要總結所有這些數字,然後纔會覆蓋該文件,以便第二次用新數字運行shell腳本。 我想知道是否有辦法做到這一點。
你可以做這樣的事情,通過存儲陣列中的搜索結果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[]
的全部內容的簡單列表。
在寫入文件之前執行所有您需要的任務。你是對的,'''追加,''''重寫。 – zogby