Во-первых, 
	
	| Цитата: | 
	| Web storage can be viewed simplistically as an improvement on cookies, providing much greater storage capacity (5 MB per origin in Google Chrome, Mozilla Firefox, and Opera; 10 MB per storage area in Internet Explorer) and better programmatic interfaces. | 
	
data=''
file=/tmp/$RANDOM
for line in {0..500000}
    do 
        data+=$line
    done
echo $data > $file | ls -lah $file | awk '{print $5}' # 2,8M
Во-вторых, у меня bash тоже подвис на этой операции на несколько минут. 
А если при этом еще на каждой итерации дергать файл, то:
➜ time `str=''; tmp=/tmp/$RANDOM; for i in {0..10000}; do str+=$i; echo $str >> $tmp; done`;
real  0m31.761s
user  0m30.484s
sys   0m1.181s
При том что количество итераций в 50 раз меньше!