常用的Linux保存控制台输出到文本文件的方法:

符号功能使用方式
>将控制台输出以写入模式保存到指定文件,并控制台上将没有输出xxx.exe>yyy.txt
>>将控制台输出以追加模式保存到指定文件,并控制台上将没有输出xxx.exe>>yyy.txt
| tee将控制台输出以写入模式保存到指定文件,并控制台上保留输出xxx.exe | tee yyy.txt
| tee -a将控制台输出以追加模式保存到指定文件,并控制台上保留输出xxx.exe | tee -a yyy.txt

写入模式会清空指定写入文件的原本内容;
追加模式会在指定写入文件的末尾添加新的内容。

“| tee -a”只是使用了tee命令的一个参数,关于tee命令的详解可以参考这篇文章
此外还有关于Linux中fd到fd的重定向和解决输出文本中无内容问题的方法,可以参考这篇博客

个人来说一般在写.sh时需要执行多次程序,第一次执行时.exe用“| tee”,之后执行.exe用“| tee
-a”到同一个文件,保证一次.sh的输出在同一个文件中,然后再用.bat来调用这些脚本,另外重定向符">“和”>>"在bat中也是可以用的,“|
tee”在bat中不可用,如果像我一样用bat去调用sh,那么在bat中使用重定向符是没用的,因为输出在git中,要把重定向符用在sh文件中。

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐