首先,这里的>和>>不是C和C++语言里面的位操作符。
一般在UNIX和LINUX命令中会用到它,比如,echo "xxx" > filesname。echo "xxx" > filesname与echo "xxx" >> filesname这两者有什么区别呢?实践一下就知道了。
为了便于区分两者,将前面的两个命令语句修改一下:变成echo "xxx1" > filesname和echo "xxx2" >> filesname。这里的filename为同一文件,且此文件为硬盘中不存在的文件。
好,现在开始实践。
执行echo "xxx1" > filesname,然后cat filename,结果是:
xxx1
执行echo "xxx2" >> filesname,cat filename,结果是:
xxx1
xxx2
看出他们的区别了吗?我来再来重复一次上面的两个命令,就会让它们了解更深了。
现在filename已经存在于硬盘中了,并且文件里面有内容:
xxx1
xxx2
现在再执行一次echo "xxx1" > filesname,cat filename,你猜会是什么结果?
----结果1----- ---结果2---
xxx1 xxx1
xxx2
xxx1
------------------- ------------------
结果如何,你执行后就知道了,没错,是结果2!
现在再来实践一次echo "xxx2" >> filesname。现在filename里面的xxx1/xxx2。
执行echo "xxx2" >> filesname,来cat一下,结果是什么?来看下面:
xxx1
xxx2
xxx2
现在来总结一下,>和>>都是将echo后面""之间的内容输出到文件,>会将文件内容清除再将内容写入,而>>在原文件内容后面写入内容。