如何通过一行echo命令同时将内容输出至文件与终端?
一行命令同时输出至终端与文件的方案
当然可以,借助tee命令就能用一行代码实现需求——它的核心作用就是读取标准输入,同时将内容输出到终端(标准输出)和指定文件。
基础用法(覆盖文件)
直接通过管道将echo的输出传递给tee:
echo "testing" | tee file.txt
执行后,"testing"会同时显示在终端,并且写入file.txt(如果文件已存在会被覆盖)。
追加内容(不覆盖文件)
如果需要像你原来用>>那样追加内容到文件末尾,加上tee的-a参数即可:
echo "testing" | tee -a file.txt
这完全等价于你原来两条echo命令的组合效果。
扩展:同时输出到多个文件
tee还支持一次性输出到多个文件,比如:
echo "testing" | tee file1.txt file2.txt
这条命令会把内容同时打印到终端,并且写入file1.txt和file2.txt两个文件中。
内容的提问来源于stack exchange,提问作者JakePaul
相关产品推荐
相关产品推荐

