我试图在FOR循环中使用IF / ELSE语句来生成两个输出文件: count1,数字1-5; count2,数字6-10
我正在尝试
for i in {1..10}
do
if [ $i -le 5 ]
then
echo $i > count1.out
else
echo $i > count2.out
fi
done
但是count1只有" 5"在它和count2显示" 10"
我该如何解决这个问题?
答案 0 :(得分:1)
使用>
重定向到文件会替换文件的全部内容。
您实际想要做的是附加到文件,您可以使用>>
执行此操作:
echo "hello " > somefile.out # replace the contents of whatever is in somefile.out
echo "world!" >> somefile.out # append more stuff to somefile.out
此处有更多信息:https://www.gnu.org/software/bash/manual/html_node/Redirections.html
答案 1 :(得分:1)
您正在使用truncate-redirect运算符>
。
您可能打算使用附加重定向运算符>>
。
Consider reading up on BASh I/O redirection in general.了解shell脚本对您有很大帮助。